如何使用Jquery-Chosen插件在下拉列表中将第一个选项设为默认值

时间:2015-05-28 19:11:39

标签: javascript jquery

我有一个下拉列表,其值需要默认为下拉选项中的第一个值。

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);

但这会返回错误。当下拉选项是数组的结果时,我不确定如何选择默认值。 有什么想法吗?

2 个答案:

答案 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。