0

我有一个函数,只有在页面上没有具有“selected”属性的选项元素时才需要在窗口加载时触发。

<option value="1" selected="selected">Option</option>

我试图用下一个函数来做这件事,但没有运气:

function fireWhenLoad () 
{
if ( $('select option').is(':selected')) {
        alert("Selected");
    }
    else
    {
        alert("Not Selected");
        runIfNoSelectedOptions();
    }
};

$(window).load(function(){
    fireWhenLoad();
});

如果选项具有“已选择”属性而没有,则该功能会在每种情况下都会提醒“已选择”。

那么我做错了什么,如何检查选项元素是否具有“选定”属性?

谢谢!

4

3 回答 3

0

您可以使用$.(document).ready()JQuery 的功能来触发您的事件。

于 2013-10-11T08:55:36.873 回答
0

如果我理解正确,请使用 $(document).ready() 确保 dom 元素已被加载,然后遍历选项。您目前只选择第一个选项。

$(document).ready(function(){
$("select option").each(function() {
var $this = $(this);
    if ($this.attr("selected") !== undefined) {
        alert("Selected");
    }
    else
    {
        alert("Not Selected");
        runIfNoSelectedOptions();
        return false;
    }
});

});

于 2013-10-11T09:01:56.243 回答
0

你有没有尝试过,

$('option').each(function(){
    if($(this).is(':selected')){
       alert("Selected");
    }
    else
    {
        alert("Not Selected");
        runIfNoSelectedOptions();
    }
});
于 2013-10-11T09:08:30.520 回答