Jquery更改未检测到选择更改轨道

时间:2014-06-25 05:26:39

标签: javascript jquery html ruby-on-rails

我在jquery中遇到一个问题,我的选定字段没有通过jquery change()正确检查

    = select_tag 'selector-email', 
                 options_for_select([['Mailer', 0], ['Invite Student', 1], ['Invite Visitor', 2]])

上面是我的html被解析为然后在jquery中我选择id并使用其索引来查找值。

function mailerChange() {
  $("#selector-email").change(function() {
    console.log($('#selector-email')[0].selectedIndex)
  })
}

当我尝试使用codepen时,这种方法完全正常但由于某种原因在rails中我只是将0作为值返回。即使我在我的网页上尝试控制台。它可以找到选择器字段,但它无法正确选择所选内容。

这里发生的是有正当理由吗?

1 个答案:

答案 0 :(得分:2)

根据您的codepen,您正在定义DOM准备好的处理程序,稍后会添加您的元素。

$(document).ready(function() {
  mailerChange();
})

使用jQuery .on()

尝试事件委派
function mailerChange() {
    $(document).on("change","#selector-email",function() {
       console.log($('option:selected',this).index())
    })
}