簡體   English   中英

根據先前的選擇過濾三個選擇框

[英]Filter three select boxes based on previous selections

我試圖根據先前選擇的內容來更改選擇框。 我希望第一個要更改,但第三個不更改。 如果有人可以幫助我完成第三項工作,那就太好了。

http://jsfiddle.net/Ze5AA/21/

這是我正在使用的js:

$("#CAT_Custom_496270").change(function() { 
    if($(this).data('options') == undefined){
        $(this).data('options',$('#CAT_Custom_495029 option').clone());
    } 

    var id = $(this).val();
    var options = $(this).data('options').filter('[value*=' + id + ']');
    $('#CAT_Custom_495029').html(options);
});

$("#CAT_Custom_495029").change(function() { 
    if($(this).data('options') == undefined){
        $(this).data('options',$('#CAT_Custom_495038 option').clone());
    } 
    var id = $(this).val();
    var options = $(this).data('options').filter('[value*=' + id + ']');
    $('#CAT_Custom_495038').html(options);
});

value attribute過濾器的值括在引號中,因為值中有空格。

var options = $(this).data('options').filter('[value*="' + id + '"]');

小提琴

由於空格,您的值與要檢查的內容不一致。

您可以將其括在引號中,盡管我只會得到所需的值(前3個字符)以保持其清潔

您需要拆分支票,我將添加一個定界符以使其變得容易。

 //html example from menu 2
    <option value="CSD: 0-45">0-45</option>
        <option value="CSD: 46-50">46-50</option> //note the colon after CSD

 //html from menu 3

<option value="CSD: $25.40/month /20 Year Pay">$25.40/month /20 Year Pay</option>

<option value="CSD: $26.05/month /20 Year Pay">$26.05/month /20 Year Pay</option>

<option value="CSD: 51 $27.50/month /20 Year Pay">$27.50/month /20 Year Pay</option> //note the color again


 //the java

   var id = $(this).val().split(":"); //makes a 2 value array split at the colon
   var options = $(this).data('options').filter('[value*=' + id[0] + ']'); //we want the first array value (before the colon)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM