【问题标题】:click option in select by jquery?单击 jquery 选择中的选项?
【发布时间】:2017-04-05 16:49:20
【问题描述】:
<select id="myselect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

每当单击选择中的选项时,我都需要调用 ajax $("#myselect option").click(hanler) 事件处理程序。但此功能在 Safari 浏览器中不起作用

例如:

$("#myselect option").click(function(){
    // call ajax
})

【问题讨论】:

  • $("#myselect").change(function(){ // call ajax });
  • 我希望当用户重新选择它仍然调用 ajax 的选项时。仅在选项中发生更改时才更改()。 span>
  • 使用 div 创建自定义下拉菜单,因为默认下拉菜单无法满足您的需求

标签: javascript jquery


【解决方案1】:

在从 select 中选择选项时尝试使用 change()。

$("#myselect option").on("change",function(){
// call ajax
});

【讨论】:

  • 如果值被选中,我再次选中,change() 无效。
  • 您可以先设置一个空白选项。然后你可以选择其他选项。
【解决方案2】:

您可以查看已经写好的答案here。通过添加一个额外的事件来尝试一下,比如 blur();

$('select').quickChange(function () {
  $(this).blur();
  $('select').focus(); // somehow prevents an extra blur from firing   on focus
});


$("#select-choice-month").change(function () {
  // update second select dynamically
});

希望能给你答案。

【讨论】:

【解决方案3】:

最好使用change事件而不是点击事件,同时绑定$(document).ready里面的代码。请尝试示例代码并验证这是否适合您。

<!DOCTYPE html>
<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            $("select#myselect").change(function () {
                console.log("You have selected " + $("select#myselect").val());
                //Call your ajax here.
            })
        });
    </script>
</head>

<body>
    <select id="myselect">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</body>

</html>

【讨论】:

  • 例如,我打开 select_box 并选择值 1,chage() 效果,现在,我打开 select_box 并选择值 1,change() 无效。 change() 仅在选项更改时有效。
  • 主要问题是选项没有点击事件。您可以为选择添加单击事件,即使您只需单击选择下拉菜单本身也会触发,或者您可以选择仅在所选选项更改时才会触发的更改事件。
【解决方案4】:

您需要在选择标签上使用“更改”事件,而不是选项本身。

$('#myselect').on('change', function (e) {
    myFunction();
});

每次更改当前选择的值时,都会调用“myfunction”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多