【问题标题】:IE9 dropdown list issueIE9下拉列表问题
【发布时间】:2012-06-19 11:38:44
【问题描述】:

我对 IE9 中的动态下拉列表有疑问。

我有一张表格,其中一列用组合填充,每行一个组合,每个组合都是用 HTML 5.0 代码创建的,如下所示:

<select id="cboABC0" class="RetrieveList cboABC" data-index="0" data-info="3" name="cboABC">
<option selected="selected" value="N">Select</option>
<option value="P">Partial</option>
<option value="C">Complete</option>
<option value="CA">Cancelled</option>
</select>
</td>

我希望在下拉列表中选择一个选项时发生一些事情,具体取决于所选的选项,为此,我尝试了使用 JQuery 使用 RetrieveList 类的事件的不同方法:

$(".RetrieveList").live(''click'',function(event){      

var val_info = $(this).attr("data-info"); 
var val_index = $(this).attr("data-index");

var sOptionSelected = $(this).val();

alert(sOptionSelected);

// Here is where I want to do something , depending on the selected option.

}); 

使用“实时点击”,至少点击事件会“触发”,但它无法识别我选择的内容,它会保留我选择的最后一个选项,例如,如果没有选择任何内容并且我打开组合,移动到另一个选项并单击该选项,它会转到单击事件,但 $(this).val() 返回的值是前一个而不是刚刚选择的那个。 另一方面,如果我使用箭头键选择选项然后单击,id 确实会识别新值。就好像它只识别“点击”的变化而不识别价值的变化。

我尝试过使用“绑定点击”、“实时更改”和“绑定更改”,并且使用这些选项,点击甚至不会被“触发”。

同样,这一切都发生在 IE9 和 Mozilla 中,我没有遇到任何重大问题。

如果有人能帮我解决这个问题,我将不胜感激。

提前致谢,

问候!

布伦达

【问题讨论】:

    标签: jquery html


    【解决方案1】:

    首先,你有''click'',而它应该只是'click'。无论如何,我都不会使用click,而是使用change,因此它会在列表更改时触发,而不仅仅是在用户单击它时触发。 click 将触发即使您只是单击它而不进行其他选择(单击以查看所有下拉项目)

    解决这个问题,它适用于我的所有浏览器。

    DEMO

    【讨论】:

    • 感谢 Sachleen,我尝试了您的建议,并使用了“更改”而不是“点击”,但只有当我使用键更改选项并给出“输入”时才会触发该事件,它永远不会被触发如果我用鼠标选择它,有什么想法会发生这种情况吗?谢谢!
    • 我提供的演示是否正常工作?如果是这样,则问题出在您的代码中的其他地方,我们需要看到它来隔离它。检查控制台(Chrome 中的扳手 > 工具 > Javascript 控制台)是否有任何错误
    【解决方案2】:

    尝试:

        $(".RetrieveList").live('change',function(event){      
    
    var val_info = $(this).attr("data-info"); 
    var val_index = $(this).attr("data-index");
    
    var sOptionSelected = $(this).val();
    
    alert(sOptionSelected);
    
    // Here is where I want to do something , depending on the selected option.
    
    }); 
    

    【讨论】:

    • 感谢 chrisvillanueva,我尝试了您的建议,并使用了“更改”而不是“点击”,但只有当我使用键更改选项并给出“输入”时才会触发该事件,它永远不会被触发如果我用鼠标选择它,有什么想法会发生这种情况吗?谢谢!
    • 嗨。该代码对我有用。请在此处查看演示:jsfiddle.net/nickadeemus2002/7PBWE 其他地方可能有问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多