如何使用jquery操作选择框

How do i manipulate select box using jquery?

本文关键字:选择 操作 jquery 何使用      更新时间:2023-09-26

我有一些像这样的选择框:

<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做到这一点?

嗯,我真的不知道你到底在问什么,所以我只能猜了。

我猜,当一个select元素接收到一个change事件时,我们应该找到所有其他选择,其中选择的值是相同的,并将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 );
});

如果您使用的是比1.7更旧的jQuery版本,那么请使用boxes.bind而不是boxes.on

我想大概是这样的:

$(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();
});
});

我试过下面的代码,

$('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中获取总价值