我遇到了一个问题,即我使用jQuery来获取下拉值,但是,它只返回最初选择的值。该页面是用PHP编写的,并从数据库中获取值。如果先前选择了select元素,则具有该值的选项会将选定的属性放在其上。这导致如下:
<select name="dropdown1">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
我使用javascript的问题是,无论选择什么内容,具有所选属性的选项始终作为该输入的值返回。实际选择哪个选项并不重要,选项2始终作为选定元素返回。这是我正在使用的JavaScript。
$.each( inputs, function( key, value ){
var element = $( "[name='" + key + "']" );
var this_val = $( element ).val();
console.log( this_val ); //always returns 2
});
变量输入是一个关联数组,其键和值对匹配表单中的输入名称。您可以提供有关为何发生这种情况的任何帮助,我们将不胜感激。谢谢!
答案 0 :(得分:0)
如果您执行var inputs = $('select')
之类的操作,则key
是select
节点数组的下标,而不是实际节点名称。但是,value
表示与key
对应的节点,因此您只需执行var element = $( "[name='" + value.name + "']" );