如何更改基于第一个下拉选择的第二个下拉值? [英] How to change second drop-down value based first drop-down selection?

查看:120
本文介绍了如何更改基于第一个下拉选择的第二个下拉值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个下跌点,即最低价最高价,我想更改第二个下拉菜单,基于第一选择的下拉值。

举例第一个下拉选择为100表示​​,第二个下拉值应该大于100,如果第一个下拉选项为200 ,2nd的值应该大于200



jQuery或js中的任何想法?

解决方案

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

 < select id ='min'> 
< option value ='100'> 100< / option>
< option value ='200'> 200< / option>
< option value ='300'> 300< / option>
< option value ='400'> 400< / option>
< / select>
< select id ='max'>
< option value ='100'> 100< / option>
< option value ='200'> 200< / option>
< option value ='300'> 300< / option>
< option value ='400'> 400< / option>
< / select>

var removed;
$ b $('#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()


I have a two drop downs namely Min Price and Max Price, i want to change the second drop-down value based on the first selection.

Say example 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

Any idea in jQuery or js?

解决方案

Simplest i could think of ( this allows you to go back in your choices, you can select 400 and then 200 and everything works )

<select id='min'>
<option value='100'>100</option>
<option value='200'>200</option>
<option value='300'>300</option>
<option value='400'>400</option>
</select>
<select id='max'>
<option value='100'>100</option>
<option value='200'>200</option>
<option value='300'>300</option>
<option value='400'>400</option>
</select>​

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 - added parseInt() as per comment

这篇关于如何更改基于第一个下拉选择的第二个下拉值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆