jquery显示基于选择下拉列表的输入

时间:2015-02-13 21:25:55

标签: jquery

如果选择某个选择字段,则显示输入字段'。它起作用的初始时间。但是,如果单击选择输入,则下次不起作用。

JQuery的

$('#select-users').on('change', function() {
  if(this.value == "individual-user")
  {
    $("#individual-user").removeAttr("hidden");
  } else
  {
   $("#individual-user").hide();
  }
});

JSFIDDLE

4 个答案:

答案 0 :(得分:2)

$('#select-users').on('change', function() {
    if(this.value == "individual-user")
    {
        $("#individual-user").show();
    } else
    {
       $("#individual-user").hide();
    }
});

.hide()的对应方为.show()

请参阅: jsfiddle

答案 1 :(得分:0)

由于您删除了名为hidden的属性 - 而不是删除该属性,请致电.show()

http://jsfiddle.net/29k6n2jb/1/

答案 2 :(得分:0)

使用.show(),而不是.removeAttr("hidden");

hide()使用display属性,而不是hidden属性。

答案 3 :(得分:0)

这里的问题是,当您使用.removeAttr("hidden")时,您要从html元素中移除属性hidden,但如果它不匹配,则调用.hide()来添加样式将dispplay:none归因于您的html元素。

相反,您需要使用.show().hide()

<强>的CSS:

#individual-user{
    display:none;
}

<强> HTML:

<input type="text" id="individual-user" name="individual-user" class="form-control" value="User ID"/>

<强> JS:

$('#select-users').on('change', function() {
    if (this.value == "individual-user") {
        $("#individual-user").show();
    } else {
        $("#individual-user").hide();
    }
});