如何使用jquery操作选择框?

时间:2011-12-08 15:09:14

标签: javascript jquery

我有一些选择框如下:

<select id="my_box1" rel="cal_10">
    <option value="A"></option>
</select>

<select id="my_box2" rel="cal_10.50">
    <option value="A"></option>
</select>

....

<select id="my_boxn">
    <option value="B"></option>
</select>

在更改时,我只想在选择框具有相同的选项值时添加相关值(即10和10.50)。

例如:如果第一个和第二个选择框的选项值为A,那么我想添加它。

如何使用jQuery执行此操作?

3 个答案:

答案 0 :(得分:1)

好吧,我真的不能确切地说出你在问什么,所以我只是想猜。

我猜测当select元素收到change事件时,我们应该找到所选值相同的所有其他选择,并对{{1}的数字部分求和} attribute。

如果是这样,你可以这样做:

rel

如果您使用的是早于var boxes = $('select[id^="my_box"]'); boxes.on('change', function() { var n = 0, val = this.value; boxes.each(function() { if( this.value === val ) { n += +$(this).attr('rel').replace('cal_',''); } }); alert( n ); }); 的jQuery版本,请使用1.7代替boxes.bind

答案 1 :(得分:0)

这样的事情,我相信:

$(function() {
$('select#my_box1, select#my_box2').bind('change', function() {
if ($('select#my_box1').val() == $('select#my_box2').val())
    $('select#my_box2').append('<option value="10">10</option><option value="10.50">10.50</option>');
else $('select#my_box2').find('option[value="10"], option[value="10.50"]').remove();
});
});

答案 2 :(得分:0)

我试过下面的代码,

$('select').change(function(){
    var totalWeight = 0;
    var post_array = [];
                var actual_val = value;
                //alert(actual_val);
                var x=0;
                $("select").each(function(index, selectedObj) {
                    current = $(this).val();

                    var combined = $(this).attr('rel');
                    if(combined!=undefined)
                    {
                        combined = combined.split("_");
                        var is_combined = combined[0];
                        var combined_pid = combined[1];

                        if(actual_val == current && is_combined == "cal"){
                            post_array[x++] =  combined_pid ;
                           totalWeight+=parseFloat(combined_pid);
                        }
                    }
                });
                alert(totalWeight);
});

我将在totalWeight

中获得总价值