当列表中的元素被选中时,我想用'data-search'属性填充搜索输入。
我有这样的标记:
<input type="text" name="search" value="" id="id_search" />
<select id="cd-dropdown" class="cd-select">
<option value="-1" selected>Choose your prize</option>
<option value="1" class="search-btn" data-search="camera">Camera</option>
<option value="2" class="search-btn" data-search="diamonds">Diamonds</option>
<option value="3" class="search-btn" data-search="spaceship">Spaceship</option>
</select>
L。E:我找到一个解决办法了:
$("#cd-dropdown").change(function()
{
$("#id_search").val($("#cd-dropdown :selected").attr("data-search"));
});
,但不幸的是不与jquery 1.8.3工作,有什么办法使它与这个版本的工作?
您不能将单击事件绑定到option
元素。如果我说对了你想要触发事件,当一个选项被选中。试试以下命令:
$("#cd-dropdown").change(function()
{
$("#id_search").val($(this).data("search"));
$("#id_search").keyup();
})
代码"不工作",因为,根据你的代码片段,你没有一个按钮/可点击的元素与类search-btn
。如果你修改jQuery选择器使用正确的类或标识符,那么点击事件将被处理。
至于keyup不工作,我不能保证这一点,因为我看不出你甚至期望它在这种情况下做什么-你正在调用按钮的事件处理程序,但在下拉列表中谈论它,这使得你的问题相当毫无意义。