jQuery .更改预选的选定值
jQuery .change selected value preselected
我想更新 cookie(通过 update.php)并通过传输新数据(id、值)重新加载网站。预选值 1 并使用 jQuery 设置 str = 1,而不是选定的选项值,例如6.
$( ".a2d" ).change(function() {
var prodId = this.id;
var e = document.getElementById(prodId);
var str = e.options[e.selectedIndex].value;
var url = "../update.php?id=" + prodId + "&updateNewValue=" + str;
$(location).attr('href',url);
});
HTML:
<select class="a2d" id="2" name="2">
<option value="0">0</option>
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
通过使用
var str = $('#' + prodId).options[this.selectedIndex].val();
它似乎工作得更好(因为它得到了正确的选择值),但是 firebug 中的一个错误说:
未捕获类型错误:无法读取未定义的 属性“6”
$('#' + prodId)
这是一个 jquery 对象,而不是 javascript 对象,因此可以像这样使用它:
document.getElementById(prodId).options[this.selectedIndex].value;
不需要获取选中的索引,只获取<select>
的值
var str = $('#' + prodId).val();
但是由于 prodId
是 this.id
,您可以使用:
var str = $(this).val();
只需使用 this
引用读取 select 元素的值
$(".a2d").change(function () {
var str = $(this).val();//or just this.value
var url = "../update.php?id=" + prodId + "&updateNewValue=" + str;
$(location).attr('href', url);
});
在你的例子中 $('#' + prodId)
returns 一个 jQuery 对象没有属于 dom 元素的 options
属性参考。
要获取值,只需尝试,
var str = $('#' + prodId).val();
或
var str = this.value;// best option
我想更新 cookie(通过 update.php)并通过传输新数据(id、值)重新加载网站。预选值 1 并使用 jQuery 设置 str = 1,而不是选定的选项值,例如6.
$( ".a2d" ).change(function() {
var prodId = this.id;
var e = document.getElementById(prodId);
var str = e.options[e.selectedIndex].value;
var url = "../update.php?id=" + prodId + "&updateNewValue=" + str;
$(location).attr('href',url);
});
HTML:
<select class="a2d" id="2" name="2">
<option value="0">0</option>
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
通过使用
var str = $('#' + prodId).options[this.selectedIndex].val();
它似乎工作得更好(因为它得到了正确的选择值),但是 firebug 中的一个错误说:
未捕获类型错误:无法读取未定义的 属性“6”
$('#' + prodId)
这是一个 jquery 对象,而不是 javascript 对象,因此可以像这样使用它:
document.getElementById(prodId).options[this.selectedIndex].value;
不需要获取选中的索引,只获取<select>
var str = $('#' + prodId).val();
但是由于 prodId
是 this.id
,您可以使用:
var str = $(this).val();
只需使用 this
引用读取 select 元素的值
$(".a2d").change(function () {
var str = $(this).val();//or just this.value
var url = "../update.php?id=" + prodId + "&updateNewValue=" + str;
$(location).attr('href', url);
});
在你的例子中 $('#' + prodId)
returns 一个 jQuery 对象没有属于 dom 元素的 options
属性参考。
要获取值,只需尝试,
var str = $('#' + prodId).val();
或
var str = this.value;// best option