gpt4 book ai didi

jquery - removeAttr ("selected") 和 .attr ('selected' ,'selected' ) 无法正常工作

转载 作者:行者123 更新时间:2023-12-03 22:39:30 29 4
gpt4 key购买 nike

我的表单中有两个选择字段。第一个是单选,另一个是多选。现在我想做的是根据单选中所选的选项,使用给定的数据选择多选中的选项。为此,我在单选更改时触发 ajax 请求:

$.ajax({
type : 'POST',
url : '/Controller/getMultipleSelectIds',
data : {
singleSelectId: singleSelectId
},
success : function(data) {
var multipleSelectIds= JSON.parse(data);
$("#multipleSelectFieldId option:selected").prop("selected", false);
$("#multipleSelectFieldId option").each(function()
{
if ($(this).val() in multipleSelectIds) {
$(this).attr('selected','selected');
}
});
$("#multipleSelectFieldId").trigger("chosen:updated");
}
});

假设我在数据库中有这样的单选 Id 值:

array(
"ssId1" => array(1,2,4,5),
"ssId2" => array(1,3,5)
)

现在我选择单选中的第一个条目(“ssId1”),一切正常,这意味着多选会像它应该的那样被填充(带有给定值 1,2,4 和 5 的选项) )。但是,当我再次将单选更改为另一个选项(“ssId2”)时,选择的选择仅显示选项 3(这是一个不是“ssId1”之一的值)。这一直持续到我在所选的多选中没有更多选项为止。

我已经检查过,隐藏的多选字段中的选项设置正确。所以现在的问题是:这是所选插件中的错误还是我做错了什么?

编辑试图找到问题并为此使源选择可见。似乎 removeAttr.prop("selected", false) 甚至 .attr('selected','selected') 有问题。当我在单选的两个选项之间切换时,仅标记了选项 3(蓝色背景),但所有 3 个选项在 html 代码中都具有 selected 属性。当我尝试通过 IE 11 中的 js/jquery 选择多选(必填)字段中的所有选项并提交表单时,我遇到了类似的问题 IE 表示没有选择任何选项。我做错了什么?

最佳答案

只需在所有句子中使用 prop() 方法,该方法可与 selected 等动态属性一起使用

看到你的 fiddle 修改没有问题:

https://jsfiddle.net/0aaxk2hz/3/

$(this).prop('selected', true); // add it
$(this).prop('selected', false); // remove it

关于jquery - removeAttr ("selected") 和 .attr ('selected' ,'selected' ) 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264770/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com