[英]jQuery val() returns an array with IE8 on select/option element
[英]val() of jquery sometimes not working for select element on IE
只需检查以下代码即可。
<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
function s() {
supplier = jQuery('#sup').val();
status = jQuery('#sta').val();
alert('Supplier:'+supplier+'#Status:'+status);
}
</script>
<select id="sup">
<option value="empty">Supplier</option>
<option value="1">supplier1</option>
<option value="2">supplier2</option>
</select>
<select id="sta">
<option value="empty">Status</option>
<option value="1">status1</option>
<option value="2">status2</option>
</select>
<button type="button" onclick='s()'>Show</button>
当我点击显示按钮时,我在FF中获得状态值。 但是在ie中,alert显示状态包含空字符串。
请注意,供应商和状态具有相同的结构。 供应商的价值在两个浏览器中都正确获得。
它已被破坏,因为您正在使用全局status
变量 - 应该用于设置状态栏消息。 你需要把: var status
在你的函数s
,没有status
,或只是使用不同的变量名。
看到这个小提琴: http : //jsfiddle.net/HPR3w/2/随着改变。 我在IE9中测试了它现在可以正常工作了。
试用:
function s() {
var supplier = jQuery('#sup').val();
var status = jQuery('#sta').val();
alert('Supplier:'+supplier+'#Status:'+status);
}
一个必须用关键字var声明局部变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.