jquery隐藏和显示选择列表选项.val()

时间:2016-08-03 04:30:56

标签: jquery select show option

我又遇到了一些问题,我需要你的见解。我正在为我正在构建的网页使用多个SELECT菜单,这些菜单必须根据用户在上一个SELECT输入中选择的内容进行自动排序。我目前正在使用一种完全符合我需求的隐藏/显示方法,但我无法弄清楚如何使.val()显示一个确切的数字。例如,如果选择Cat 1,您将看到类型1,类型10,类型11,如同使用通配符等。.val()是否有绝对的方式,所以它只会在第二个SELECT上显示Type 1?

以下是代码段。

提前谢谢你, Xenos K。

 $("#TypeSelect").children('option:gt(0)').hide();
 $("#CategorySelect").change(function() {
   $("#TypeSelect").children('option').hide();
   $("#TypeSelect").children("option[data-type^=" + $(this).val() + "]").show()
 })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" id="CategorySelect" name="CategorySelect" style="width:100%;">
  <option value="-" title="-" data-category="-">-</option>
  <option value="1" title="cat 1" data-category="1">cat 1</option>
  <option value="2" title="cat 2" data-category="2">cat 2</option>
</select>
<select class="form-control" id="TypeSelect" name="TypeSelect" style="width:100%;">
  <option value="-" title="-" data-type="-">-</option>
  <option value="type 1" title="type 1" data-type="1">type 1</option>
  <option value="type 2" title="type 2" data-type="2">type 2</option>
  <option value="type 3" title="type 3" data-type="3">type 3</option>
  <option value="type 4" title="type 4" data-type="4">type 4</option>
  <option value="type 5" title="type 5" data-type="5">type 5</option>
  <option value="type 6" title="type 6" data-type="6">type 6</option>
  <option value="type 7" title="type 7" data-type="7">type 7</option>
  <option value="type 8" title="type 8" data-type="8">type 8</option>
  <option value="type 9" title="type 9" data-type="9">type 9</option>
  <option value="type 10" title="type 10" data-type="10">type 10</option>
  <option value="type 11" title="type 11" data-type="11">type 11</option>
  <option value="type 12" title="type 12" data-type="12">type 12</option>
  <option value="type 13" title="type 13" data-type="13">type 13</option>
  <option value="type 14" title="type 14" data-type="14">type 14</option>
  <option value="type 15" title="type 15" data-type="15">type 15</option>
</select>

1 个答案:

答案 0 :(得分:0)

哦,上帝发布后我发现我实际上是在使用通配符......对我感到羞耻。

已更改

$("#TypeSelect").children("option[data-type=" + $(this).val() + "]").show()

到此

 $("#TypeSelect").children('option:gt(0)').hide();
 $("#CategorySelect").change(function() {
   $("#TypeSelect").children('option').hide();
   $("#TypeSelect").children("option[data-type=" + $(this).val() + "]").show()
 })

修好我的一天。我将它留在这里以防万一其他人想要它。

祝你好运, Xenos K。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" id="CategorySelect" name="CategorySelect" style="width:100%;">
  <option value="-" title="-" data-category="-">-</option>
  <option value="1" title="cat 1" data-category="1">cat 1</option>
  <option value="2" title="cat 2" data-category="2">cat 2</option>
</select>
<select class="form-control" id="TypeSelect" name="TypeSelect" style="width:100%;">
  <option value="-" title="-" data-type="-">-</option>
  <option value="type 1" title="type 1" data-type="1">type 1</option>
  <option value="type 2" title="type 2" data-type="2">type 2</option>
  <option value="type 3" title="type 3" data-type="3">type 3</option>
  <option value="type 4" title="type 4" data-type="4">type 4</option>
  <option value="type 5" title="type 5" data-type="5">type 5</option>
  <option value="type 6" title="type 6" data-type="6">type 6</option>
  <option value="type 7" title="type 7" data-type="7">type 7</option>
  <option value="type 8" title="type 8" data-type="8">type 8</option>
  <option value="type 9" title="type 9" data-type="9">type 9</option>
  <option value="type 10" title="type 10" data-type="10">type 10</option>
  <option value="type 11" title="type 11" data-type="11">type 11</option>
  <option value="type 12" title="type 12" data-type="12">type 12</option>
  <option value="type 13" title="type 13" data-type="13">type 13</option>
  <option value="type 14" title="type 14" data-type="14">type 14</option>
  <option value="type 15" title="type 15" data-type="15">type 15</option>
</select>
missing argument b: in call