gpt4 book ai didi

JQuery 设置选择为已选择 - 不更新

转载 作者:行者123 更新时间:2023-12-01 00:48:22 24 4
gpt4 key购买 nike

我以前已经这样做过一百次了,但在这一次我无法让它工作。

我有一个表格。您从客户下拉列表中进行选择,它会更新表单中的其余字段。

简单。

我使用 ajax 调用并将表单数据作为 json 对象返回,然后使用以下 jquery 更新屏幕上的表单。设置字段以使name 与输出定义匹配(在下面为k)。

    $.each(out, function(k,v){
if($('form input[name="'+k+'"]').attr('type') == 'text'){
$('form input[name="'+k+'"]').val(v);
}else if($('form input[name="'+k+'"]').attr('type') == 'hidden'){
$('form input[name="'+k+'"]').val(v);
$('form .'+k).text(v);
}else if($('form input[name="'+k+'"]').attr('type') == 'checkbox'){
if(v == '1') {
$('form input[name="'+k+'"]').attr('checked', true);
}else{
$('form input[name="'+k+'"]').attr('checked', false);
}
}else
$('form select[name="'+k+'"] option[value="'+v+'"]').attr('selected', true);

$('form input[name="old_client_name"]').val(out.client_name);
});

当我使用检查元素时,我实际上可以在一个选择字段中看到正确的选项已被赋予 selected="selected" 值,但用户的 View 没有更新选择框来反射(reflect)这一点,因此用户看不到它已被选中,并且在处理表单时,它的行为就像尚未设置该值一样。

我正在使用 jq 1.9.1,但最近才在这个特定项目上升级到此版本。

有什么建议吗?

最佳答案

尝试:

    $('form select[name="'+k+'"] option[value="'+v+'"]').attr('selected', 'selected');

或者:

    $('form select[name="'+k+'"] option[value="'+v+'"]').prop('selected', 'selected');

为了清楚起见,您应该始终设置 selected="selected",而不仅仅是 true。

关于JQuery 设置选择为已选择 - 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15368096/

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