我有一个下拉列表,其值需要默认为下拉选项中的第一个值。
JS:
$('#chosen').find('ul.active').find('li.child') // will return me an array of options.
[
<li class="child" data-option-array-index="1">Abs</li>
<li class="child" data-option-array-index="2">Abg</li>
<li class="child" data-option-array-index="3">Abk</li>
]
我尝试通过执行以下操作将其默认为第一个值:
$('#chosen').find('ul.active').find('li.child').attr('data-option-array-index').prop('selected', true);
但这会返回错误。当下拉选项是数组的结果时,我不确定如何选择默认值。 有什么想法吗?
答案 0 :(得分:1)
从代码的外观来看,我的猜测是你正在使用一个插件或库,使用HTML列表(即<ul>
和<li>
创建风格化的&#34;下拉菜单#34;标签),用CSS设计,使其看起来像一个下拉列表。
您遇到的问题是selected
属性特定于<select>
元素,因此尝试将其添加到<li>
可能是您看到错误的原因。
现在,不知道你正在使用什么插件/库,我可以告诉你,为了确保选择在&#34;假的&#34;下拉列表在提交时仍会传递给服务器,这些下拉列表通常使用某种形式的JavaScript绑定到幕后隐藏的<select>
,并且API中通常还有一个方法可以让您手动自动选择您想要的值。
假设我正确使用外部插件/库,我会查看文档以获取有关如何设置默认选择的更多信息。
根据您对使用jQuery Chosen插件的评论,并且在查看选定网站(http://harvesthq.github.io/chosen/options.html)上的选项页面后,看起来您应该只能放置{{1应用插件的selected
值中的属性,它将自动选择生成的下拉列表中的值。
选中,禁用 - 选择自动突出显示所选选项并禁用禁用选项。
如果你需要添加<option>
属性 AFTER ,那么你应该使用JS / jQuery将属性添加到你想要选择的selected
然后使用以下命令刷新Chosen下拉列表:
<option>
答案 1 :(得分:0)
试试这个:
$('#chosen').find('ul.active').find('li.child')[0].prop('selected', true);
您获得返回的选项数组中的第一个元素。然后将其属性“selected”设置为true。