在JQuery中使用其名称获取DropDown值

时间:2014-07-15 04:54:26

标签: javascript jquery html

我的页面中有SELECT

 <select id="select_status_id44" name="select_status_id[44]" class="inputbox" id =      "status_id_44">
<option value="1">Pending</option>
<option value="2" selected="selected">Confirmed</option>
<option value="3">Cancelled</option>
<option value="4">Refunded</option>
<option value="5">Shipped</option>
<option value="6">Paid</option>
<option value="7">Complete</option>
</select>

还有这个

 <select id="select_status_id78" name="select_status_id[78]" class="inputbox" id =      "status_id_44">
<option value="1">Pending</option>
<option value="2" selected="selected">Confirmed</option>
<option value="3">Cancelled</option>
<option value="4">Refunded</option>
<option value="5">Shipped</option>
<option value="6">Paid</option>
<option value="7">Complete</option>
</select>

我想要做的是,只要这两个SELECT中的任何一个被改变,它就应该在该标签内找到select_status_id [ID] ID ...

现在我只是做了这个,但它不起作用

$('select[name=select_status_id]').change(function() {    
    alert('dsada');
});

我知道我不应该使用ID属性,因为它们两者都不同......但是NAME属性相同

3 个答案:

答案 0 :(得分:2)

您可以在每次选择时尝试更改。

$("#select_status_id44").change(function(){
    var val = "select_status_id["+$(this).val()+"]";
    $(this).prop("name", val);
    console.log(val);
});

更新:检查此小提琴:http://jsfiddle.net/JayKandari/L8TWN/1

答案 1 :(得分:2)

试试这种方式

$('select[name^="select_status_id"]').change(function() {    
    alert($(this).attr('name').split('[')[1].replace(']',''));
});

DEMO

答案 2 :(得分:0)

如果您可以向选择

添加数据属性
<select data-id-value="42" ..... >

$('select').on('change', function() {
    console.log ( $(this).data('id-value') );
});