如何根据第一个下拉选择更改第二个下拉值?

我有两个下降,即Min PriceMax Price ,我想根据第一个选择更改第二个下拉值。

举例说明1st drop-down selection is 100 means, 2nd drop-down value should be greater than the 100, if it is 200 in 1st, value of 2nd should be greater than 200

在jQuery或js中的任何想法?

最简单的我能想到(这可以让你回到你的选择,你可以选择400然后200,一切正常)

  ​ var removed; $('#min').change( function() { var value = this.value; $('#max').prepend(removed); var toKeep = $('#max option').filter( function( ) { return parseInt(this.value, 10) >= parseInt( value, 10); } ); removed = $('#max option').filter( function( ) { return parseInt(this.value, 10) < parseInt( value, 10); } ); $('#max').html(toKeep); });​ 

http://jsfiddle.net/NjLNF/2/

EDIt - 根据评论添加了parseInt()

您可以使用jquery和更改function。 如果第一个下拉列表的id是drop1,那么它将是$(“#drop1”)。change(function(){..将你的函数放在这里以填充第二个下拉列表..

 $('#first_dd').change(function(){ var dd_val=$(this).val(); var options = ""; $('#second_dd').html(''); for(var i=parseInt(dd_val+1);i<=END-LIMIT;i++) { $('#second_dd').append(''); } }); 

我没有在浏览器中测试它。 考虑系统,只需遵循逻辑。

 $(function () { $("#one").change(function (e) { $("#two").empty(); var options = $("#one option").filter(function(e){ return $(this).attr("value") > $("#one option:selected").val(); }).clone(); $("#two").append(options); }); }); 

在Min Price下拉列表中添加一个监听器,然后循环显示Max Price下拉值,直到找到大于所选最小价格下拉列表的值。 像这样的东西

 $('#minPrice').change(function(){ var minVal = $('#minPrice option:selected').val(); $('#maxPrice option').each(function(){ if(minVal < $(this).val()){ $(this).attr('selected', 'selected'); return false; } }); });