jQuery生成下拉列表动态默认选择
Posted
技术标签:
【中文标题】jQuery生成下拉列表动态默认选择【英文标题】:JQuery generate drop-down list dynamic default selection 【发布时间】:2021-12-06 16:42:16 【问题描述】:我正在构建一个 DataTable,一切都很好。
其中一列,我需要渲染一个选择/下拉列表并设置默认选择值。
我设法渲染
render: function (data)
//e.g. data.selectedvalue = 1 or 2 or 3
var select = $("<select class='target' id='empstatus'><option value ='1'>Open</option><option value ='2'>Close</option><option value ='3'>N/A</option></select>");
//tried to set value - but it is not setting default selection, always shows the first selection after it renders
select.val(data.selectedvalue).attr('selected', 'selected');
return select.prop("outerhtml");
此列表呈现,我的问题是如何设置动态选定值?
【问题讨论】:
select.val(data.selectedvalue)
设置选定的选项。你不需要.attr()
。
【参考方案1】:
您需要设置 appropriaet 选项的属性,而不是下拉菜单,这样它就会被包含在outerHTML
中。
render: function (data)
//e.g. data.selectedvalue = 1 or 2 or 3
var select = $("<select class='target' id='empstatus'><option value ='1'>Open</option><option value ='2'>Close</option><option value ='3'>N/A</option></select>");
select.find(`option[value=$data.selectedvalue]`).attr('selected', 'selected');
return select.prop("outerHTML");
【讨论】:
谢谢,有道理!它有效,只需将格式更改为 find('option[value=' + data.selectedvalue+']') 任何想法为什么您的格式不起作用?我会得到 Uncaught Error: Syntax error, unrecognized expression: option[value=$data.selectedvalue] 您确定您正确复制了反引号吗?那是一个 ES6 template literal 你说得对,我以为我必须使用这种格式的报价 ' 改为你的 ` 并且一切正常!不知道 ` 在 jquery 中使用。谢谢! 它只是纯 javascript,与 jQuery 无关。以上是关于jQuery生成下拉列表动态默认选择的主要内容,如果未能解决你的问题,请参考以下文章
当每个下拉列表动态创建ID时,jquery选择选项数据和值[关闭]
每当我更改第一个下拉列表中的选项时,需要 jquery 将第二个下拉列表的默认选项更改为“选择”
在 Javascript/JQuery 中选择单选选项时,是不是可以动态更改下拉列表的颜色或更改列表项的颜色?