从下拉列表中选择值时,如何显示特定div的输入框?

时间:2017-01-12 15:35:17

标签: javascript jquery selectlist

我有一个div重复多次,包含一个具有一个值 Advanced 的选择框。当我在特定div的下拉列表中选择该值时,我想显示与该div对应的输入框。

<div >

<select name="skilltest">

         <option value="advanced">Avanced</option> 

</select>

<input type="text" class="disableskill"/>

</div>

我编写了一个jquery脚本来显示输入框,如下所示:

$("select.skilltest").change(function()
{
    var skillvalue=$(this).val();

    if(skillvalue == "Advanced" || skillvalue  == "advanced")
    {
        $(".disableskill").show();
    }
    else{

        $(".disableskill").hide();
    }
});

如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

您可以使用next()函数从$(this)中选择下一个元素:

int a[2][2][2];
int c[2 * 2 * 3];
unsigned int index = 0;
for (unsigned int i = 0; i < 2; ++i)
{
  for (unsigned int j = 0; j < 2; ++j)
  {
    for (unsigned int k = 0; k < 3; ++k)
    {
      c[index++] = a[i][j][k];
    }
  }
}
$("select[name=skilltest]").change(function(){
  var skillvalue=$(this).val();
  if(skillvalue == "Advanced" || skillvalue  == "advanced"){
    $(this).next(".disableskill").show();
  } else{
    $(this).next(".disableskill").hide();
  }
});

答案 1 :(得分:0)

你可以试试这个。使用next()方法,您可以隐藏或显示下一个输入。

$(".skilltest").change(function()
{
    var skillvalue = $(this).val();
    if(skillvalue == "Advanced" || skillvalue  == "advanced")
    {
        $(this).next(".disableskill").show();
    }
    else{
        $(this).next(".disableskill").hide();
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <select class="skilltest">
    <option value="0"></option>
    <option value="advanced">Avanced</option> 
  </select>
  <input type="text" class="disableskill" style="display:none"/>
</div>

<div>
  <select class="skilltest">
    <option value="0"></option>
    <option value="advanced">Avanced</option> 
  </select>
  <input type="text" class="disableskill" style="display:none"/>
</div>

答案 2 :(得分:0)

您可以在IF块

中尝试使用以下脚本而无需额外条件
$(".skilltest").change(function()
{
    var skillvalue = $(this).val().toLowerCase();
    if(skillvalue  == "advanced")
    {
        $(".disableskill").show();
    }
    else{
        $(".disableskill").hide();
    }
});