【问题标题】:how to set the selected option of a select element without triggering a change event?如何在不触发更改事件的情况下设置选择元素的选定选项?
【发布时间】:2012-05-27 08:25:17
【问题描述】:

我目前在选择上使用它:

var sortNo = $('select[name=anzahl_eintraegeSEL]');

sortNo
    // set selected based on hidden input default value
    .find('option[value="'+ $('input[name=anzahl_eintraege]').val() +']')
    .attr('selected', 'selected').attr('set',true)
    // set up change listener
    .on('change', function(){
        // do sth
        });

我想在不触发初始更改事件的情况下将默认选项设置为选中。

我怎样才能让它工作?以上似乎立即触发了更改事件。

感谢您的帮助!

【问题讨论】:

  • 处理控件上的事件并取消传播

标签: javascript jquery events select options


【解决方案1】:

你可以试试:

   sortNo
  .on('change', function(){
    // do sth
  })
  .val($('input[name=anzahl_eintraege]').val()); // set the default value get from hidden field

DEMO

【讨论】:

  • 对不起,我需要从隐藏的输入中获取值。这没有帮助
【解决方案2】:

一次:在这一行:

.find('option[value="'+ $('input[name=anzahl_eintraege]').val() +']')

你错过了结束的'"'。应该是:

.find('option[value="'+ $('input[name=anzahl_eintraege]').val() +'"]')

接下来你的 .on() 被执行,而 jQuery 将你的标签放在顶部...我猜你想要更改 ,而不是 。

而且你不需要自己找到选项标签,jQuery 可以为你做到这一点,使用 sortNo.val()。

我相信这就是你想要的?:http://jsfiddle.net/KadrG/

【讨论】:

  • 感谢您的错字。我试过这个,它也可以,但以上是我需要的更多!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
相关资源
最近更新 更多