【发布时间】:2023-03-04 20:29:01
【问题描述】:
我在设置默认值的同时使用jQuery动态添加选项到html选择,但默认值没有显示。
这是最初的裸 html 代码。
<div class="form-group">
<select id="f_id" class="form-control">
</select>
</div>
和我动态添加选项的 jQuery 代码
var $fTypeSelect = $('#f_id');
$.each(fVal, function(idx, obj){
$fTypeSelect
.append($("<option></option>").attr("value",obj["ftype_id"]).text(obj["fType"]));
});
到目前为止,它已经添加了下拉选项并且可以正常工作。
我尝试通过以下方式设置默认值,但均未显示为选中状态。
$fTypeSelect.val(fTypeDefaultVal);//Not shown as the default value
$fTypeSelect.val(fTypeDefaultVal).change();// Not shown as default value
$fTypeSelect.trigger("chosen:updated");//Default value is still not shown
当下拉菜单展开时,所有选项都会被找到。如何设置默认值?我的 jQuery 版本是 2.1.4。
【问题讨论】:
-
$('#f_id option[value=' + fTypeDefaultVal + ']').attr('selected', 'selected');试试 -
$fTypeSelect.val(fTypeDefaultVal);应该可以工作。只需检查是否有value等于fTypeDefaultVal的项目 -
不存在值等于 fTypeDefaultVal 的项目。但是对现有值进行硬编码以进行测试也不起作用。 $fTypeSelect.val("1");
-
select 的重复 id 怎么样?
-
通过 val() 函数设置有效。请参阅此 plunker plnkr.co/edit/gist:1986619?p=preview。请参阅此帖子:stackoverflow.com/questions/13343566/… 了解更多信息