我对此代码有疑问:
$('#activity_filter_type_activity option').eq(1).prop("selected", true);
它适用于经典桌面,但不适用于ipad上的safari / chrome。 你能救我吗?
答案 0 :(得分:0)
尝试使用“.attr”来检查此
$('#activity_filter_type_activity option').eq(1).attr('checked',true);
我在其他线程中发现这个解决方案,是同样的问题
.prop() vs .attr()
答案 1 :(得分:0)
我认为您需要使用:
$('#activity_filter_type_activity option').attr("selected", "selected");
这与其他答案略有不同。
$(element).attr(“checked”)用于复选框,您尝试选择“选项”输入。
答案 2 :(得分:0)
如果您仍在寻找解决方案......最好的方法是使用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;
}
答案 3 :(得分:0)
这就是我在Safari和Chrome中失败的attr()
或prop()
失败的方法。只需检查jQuery对象和选择器的length
,如果:selected
if($('#activity_filter_type_activity option:selected').eq(1).length > 0){
// is selected
} else {
// not selected
}