我有大约30个这样的选择表单,具有不同的id(number_x):
<div class="holder">
<select class="start" id="number_x" maxlength=5 size=1 value>
<option value><option>
<option value>1<option>
<option value>2<option>
<option value>3<option>
<option value>4<option>
<option value>5<option>
</select>
</div>
<div class="holder">
<select class="start" id="number_x+1" maxlength=5 size=1 value>
<option value><option>
<option value>1<option>
<option value>2<option>
<option value>3<option>
<option value>4<option>
<option value>5<option>
</select>
</div>
在选择了从1到5的值之后,我需要用jquery读取它,这样我就可以把它写在表中,以便将来进行计算。
--pseudocode (val() dont work)
$(button).click{
for(x++){
tab[x]= $('.holder .start#number_x').val();
}
}
我只需要从select.start 中读取值
对于从_number_x_开始的各种ID,试试这个伪代码:
$(button).click{
for(x++){
tab[x]= $('select[id^=number_x]').val();
}
}
或
$(button).click{
for(x++){
tab[x]= $('.holder .start#number_x' + x '"').val();
}
}
对于HTML标记
做这个
<option value=""><option>
<option value="">1<option>
您的html语法无效。
更改
<option value><option>
<option value>1<option>
至
<option value=""><option>
<option value="">1<option>...and so on
然后调用val()
工作
请参阅此处的演示
您应该使用
<option><option>
<option>1<option>
或
<option value=''><option>
<option value='1'>1<option>
您可以在jquery中使用val()
函数来获得值
将所有选择框添加到表中,您可以使用循环浏览每个表单中的选择框
$('#'+tableId+' select').each(function(){
selected_value = ($(this).val());
//add your logic to store it in a table for future calculations
});
您可以使用以选择器开头的属性来定位相关的<select>
元素。然后只存储一对id: value
,就像这样:
var selectValues = [];
$('select[id^="number_"]').change(function() {
selectValues[this.id] = this.value;
});
这是一个演示小提琴
请查看http://jsfiddle.net/2dJAN/86/
如下所示,您可以获得所有选择框的选定值
$.each($('select'),function(){
alert($("option:selected", this).val());
});