2016-08-03 190 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>