表单在通过ajax添加选项时未读取select属性



我正在通过ajax准备一个<option>,如下所示:

success: function(data) {
jQuery('#usp-cat-combo-1').prepend('<option selected="selected" value="'+data.cat_id+'">'+data.cat_name+'</option>');
}

问题是,当我提交表格时,该选项显示未选择,我需要手动选择它,即使我在添加时给出了attribute selected

尝试设置<select>的值,而不是在选项上设置所选属性

jQuery('#usp-cat-combo-1')
.prepend('<option value="'+data.cat_id+'">'+data.cat_name+'</option>');
.val(data.cat_id)

注意,这假设<select>不是multiple。如果是倍数,可以在新的第一个子上设置prop('selected',true)

您要做的事情:

定义了要选择的选项默认情况下,如:

var selected;
success: function(data) {
data.cat_id=='1' ? selected = 'selected="selected"' : selected = '';
jQuery('#usp-cat-combo-1').prepend('<option '+selected+' value="'+data.cat_id+'">'+data.cat_name+'</option>');
}

现在,它只需在您定义的一个选项中添加选定属性,而不是在每个选项中添加。

注意:

  1. 假设数据是数组
  2. 您可以根据需要使用data.cat_name或其他cat_id来定义您的选定选项

如需更多帮助或其他简化,请随时发表评论:(

最新更新