2016-08-03 69 views
0

Ich habe wieder ein kleines Problem und ich brauche Ihre Erkenntnisse. Ich verwende mehrere SELECT-Menüs für eine Webseite, die ich erstelle, die automatisch sortiert werden muss, je nachdem, was der Benutzer bei der vorherigen SELECT-Eingabe gewählt hat. Ich benutze derzeit eine Methode zum Ausblenden/Anzeigen, die genau meinen Anforderungen entspricht, aber ich kann nicht herausfinden, wie man mit der .val() -Methode eine genaue Zahl anzeigt. Wenn Sie beispielsweise Katze 1 auswählen, sehen Sie Typ 1, Typ 10, Typ 11 wie einen Platzhalter usw. Gibt es eine Möglichkeit, dass .val() absolut ist, so dass Typ 1 nur beim zweiten SELECT angezeigt wird?jquery verstecken und zeigen select list option .val()

Code-Snippet folgt.

Vielen Dank im Voraus, 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

Mai werden Sie es mit Mysql zu tun denken. Es wäre ruhig einfach zu implementieren und zu pflegen – Ayan

+0

Übrigens sehen Sie dies (hoffe, das ist das, was Sie gesucht haben) http://stackoverflow.com/a/10571044/3697102 – Ayan

Antwort

0

Oh Herr, nachdem dieses Posting ich sah, dass ich tatsächlich eine Wildcard ... Schande über mich wurde mit.

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

Zu diesem

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

gerade meinen Tag festgelegt. Ich verlasse es hier für den Fall, dass es sonst jemand möchte.

Mit freundlichen Grüßen, 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>