0

When an element from the list is selected I want to fill the search input with the 'data-search' attribute.

我有这个标记:

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

LE:我找到了解决方案:

  $("#cd-dropdown").change(function()
  {
 $("#id_search").val($("#cd-dropdown :selected").attr("data-search"));
  });

但不幸的是不适用于 jquery 1.8.3 有没有办法让它与这个版本一起工作?

4

2 回答 2

2

您不能将单击事件绑定到option元素。如果我说得对,您想在选择一个选项时触发事件。尝试以下操作:

$("#cd-dropdown").change(function()
{
  $("#id_search").val($(this).data("search"));
  $("#id_search").keyup();
})
于 2013-05-31T09:06:20.517 回答
1

代码“不起作用”,因为根据您的代码段,您没有带有 class 的按钮/可点击元素search-btn。如果您修改 jQuery 选择器以使用正确的类或标识符,则将处理 click 事件。

至于 keyup 不起作用,我不能保证这一点,因为在这种情况下我看不到你甚至期望它做什么 - 你正在调用按钮的事件处理程序,但在下拉列表中讨论它,这使您的问题变得毫无意义。

于 2013-05-31T08:57:12.483 回答