2016-08-03 143 views
0

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

代码片段如下。

谢谢你在前进, 的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>

+0

可能是你应该考虑使用MySQL这样做。这将是安静容易实施和维护 – Ayan

+0

顺便看到这个(希望这是你在找什么)http://stackoverflow.com/a/10571044/3697102 – Ayan

回答

0

哦,上帝。

改变

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

对此

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

只是固定我的一天。顺便提一下,如果有其他人需要,我会把它留在这里。

最好的问候, 的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>