Jquery .prop( "selected" , "selected" ) 在 iPad chrome/safari 上不起作用



我对这段代码有一个问题:

$('#activity_filter_type_activity option').eq(1).prop("selected", true);

它适用于经典桌面,但不适用于ipad上的safari/chrome。你能帮我吗?

尝试使用"。

$('#activity_filter_type_activity option').eq(1).attr('checked',true);

我发现这个解决方案在其他线程,是相同的问题.prop() vs .attr()

我认为你需要使用:

$('#activity_filter_type_activity option').attr("selected", "selected"); 

这与其他答案略有不同。

$(element).attr("checked")用于复选框,并且您正在尝试选择一个"option"输入。

如果你还在寻找解决方案…最好的方法是使用js而不是jquery。在我的项目中,我有这样的东西,它工作得很好

    checkboxTmp = document.getElementById($(this).data('check'));
    if (checkboxTmp.checked) {
        $(this).children('span').css('background-position', '0px 2px');
        checkboxTmp.checked = false;
    } else {
        $(this).children('span').css('background-position', '0px -22px');
        checkboxTmp.checked = true;
    }

这就是我如何绕过attr()prop()在Safari和/或Chrome失败。检查jQuery对象和选择器的length,如果:selected

if($('#activity_filter_type_activity option:selected').eq(1).length > 0){
      // is selected
} else {
      // not selected
}

最新更新