我有一些相互依赖的选择输入。 我想分别使用用户身份验证的会话数据选择它们。 没关系,工作正常。但有时触发器不起作用,不要选择任何选项。 在控制台中,所有选择值都是正确的,并显示它们,但不在输入中选择它们。 有人知道原因吗?
var req = new RequestManager({
route: '/organization/session/',
type: 'GET',
onSuccess: function (result) {
console.log(result.is_school,'select school',result);
if( result.is_school === true) {
$('#organization').val(result.id);
$('#organization').trigger('change');
$('#educational_branch_id').val(result.id);
$('#educational_branch_id').trigger('change');
if(result.elementary === true) {
$('#educational_section_id').val(result.section_id);
$('#educational_section_id').trigger('change');
}
}
}
});
req.send();
而不是使用
$('#organization').val(result.id);
用
$('#organization option[value='+result.id+']').attr('selected', true);
select
用于选择值。
添加val()
后,可以使用以下方法trigger
更改
var req = new RequestManager({
route: '/organization/session/',
type: 'GET',
onSuccess: function (result) {
console.log(result.is_school,'select school',result);
if( result.is_school === true) {
$('#organization').val(result.id).trigger('change');
$('#educational_branch_id').val(result.id).trigger('change');
if(result.elementary === true) {
$('#educational_section_id').val(result.section_id).trigger('change');
}
}
}
});
req.send();
您可以在增加价值
后使用两种方式触发更改
1) $('#educational_section_id').val(result.section_id).trigger('change');
或
2) $('#educational_section_id').val(result.section_id).change();