繁体   English   中英

jquery的val()有时不适用于IE上的select元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM