javascript - 页面加载时不间断 onchange

标签 javascript jquery

所以我有一个脚本,当 (1) 页面加载时和 (2) 调用 onchange 时,它​​会将字符串附加到 url。问题是浏览器不断触发更改事件。如何让它在页面加载时触发一次?

  <script>
    $(document).ready(function() {
      $("#staff-list").on('change', function() {
        location.href = "?account=" + $(this).val();
      }).triggerHandler('change');
    });
  </script>

  <div class="input-group mb-3">
    <span class="input-group-addon gi data-gi-size gi-user-add"></span>
    <select id="staff-list" name="staff-list">
       <Option>1</Option>
       <Option>2</Option>
    </select>
  </div>

最佳答案

您需要在 if 语句中设置一个条件来停止无限重定向循环..试试这个

<script type="text/javascript">
  $(document).ready(function () {
     $("#staff-list").on('change', function() {
      var AddToUrl = "?account="+ $(this).val();
      if(window.location.href.indexOf(AddToUrl) == -1) {
       window.location.href = AddToUrl;
      }
     }).change();
  });
</script>

<div class="input-group mb-3">
    <span class="input-group-addon gi data-gi-size gi-user-add"></span>
    <select id="staff-list" name="staff-list">
       <Option>1</Option>
       <Option>2</Option>
    </select>
</div>

关于javascript - 页面加载时不间断 onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44016694/

相关文章:

javascript - Html onmousedown 与 href 优先级

javascript - 在 IE 9 中刷新 fb IFRAME - 不起作用

jquery - CKEditor 中的自动完成列表

Jquery Multiselect onblur方法

javascript - 在一个时期之后改变文本,无限循环

javascript - 查询字符串未传递到另一个页面

javascript - 希登菲尔德失去值(value)

javascript - iPad 上的 JQuery mobile : vclick triggers a scroll to the top of the page, 然后执行单击

c# - 从日期选择器的下拉列表中禁用日期

javascript - jQuery html() 会忽略元素命名(小写和大写)