我以前做过一百次,但在这一次我无法让它工作。
我有一个表格。您从客户端下拉列表中进行选择,它会更新表单中的其余字段。
简单。
我使用 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"
值,但用户的视图没有更新选择框以反映这一点,因此用户无法将其视为已选中,并且在处理表单时,它的行为就像尚未设置值一样。
我正在使用 jq 1.9.1,但最近才在这个特定项目上升级到这个。
有什么建议么?