Jquery Show Input Text Based On Input Value

前端 未结 5 1321
感动是毒
感动是毒 2021-01-21 05:35

I facing problem with my jquery, on showing input text based on input value. Here is the JS fiddle demo :

http://jsfiddle.net/Ltapp/364/

When I try to input @hot

相关标签:
5条回答
  • 2021-01-21 05:43

    It's because your selector $("input") affects both input elements. I have updated it to the $("input:first") selector instead. JsFiddle here

        $("input:first").keyup(function () {
        var value = $(this).val();
        if(value.match(myString)) {
            $('#hotm').show();
        } else {
            $('#hotm').hide(); 
        }
    });
    
    0 讨论(0)
  • 2021-01-21 05:52

    use this for your if part :

    if($(this).val().match($(this).val().substr(0,strlen($(this).val())))
    
    0 讨论(0)
  • 2021-01-21 05:55

    it's because the new box also = "input"; if you give the hotmail textbox it's own id, it won't hide

    <input id="hotmail" type="text"/>
    

    and then

    $("#hotmail").keyup(function () {...});
    
    0 讨论(0)
  • 2021-01-21 05:56

    You're affecting all inputs. Either give each one a unique ID / Class or use the jQuery $(this) method.

    See JSFiddle Here:

    http://jsfiddle.net/Ltapp/366/

    <input type="text" id="firstinput"/>
    <p id="secondinput"><input type="text"/></p>
    
    
    var myString = '@hotmail';
    $('#secondinput').hide();
    
    $("#firstinput").keyup(function () {
    var value = $(this).val();
        if($(this).val().match(myString)) {
            $('#secondinput').show();
        } else {
            $('#secondinput').hide(); 
        }
    });
    
    0 讨论(0)
  • 2021-01-21 06:08

    As many has said, you are binding the event on all the inputs I did a little change:

    $(function(){
        var myString = /@hotmail/ig;
        $("#check").bind('keyup checkvalue', function() {
            $('#hotm')[myString.test(this.value) ? 'show' : 'hide']();
        }).trigger('checkvalue');
    });
    

    using regex if you are using @HoTmAil it will also hit on that, and also added a custom event checkvalue to see if #hotm should be visible on for example a postback on the form you might be using.


    demo: http://jsfiddle.net/voigtan/xjwvT/1/

    0 讨论(0)
提交回复
热议问题