读取select中的值



我有大约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());
});

最新更新