选项:选中不触发.change()

时间:2011-10-21 19:42:28

标签: javascript jquery

我有一个下拉框,其中包含一系列机构。现在,如果我手动选择一个选项,它可以工作,我能够获取正确的值。

但是,我有一个选择率按钮,它使用JavaScript来提取价目表。您从该工作表中选择一个费率,它将从您的下拉列表中选择一个选项(一个与费率表中的费率相对应)。如果我使用此方法,它不会触发.change()因此我无法获得所选选项的值。

$('#id_financial_institution').change(function () {
          var value = $("#id_financial_institution option:selected").text()
          $("fi").text(value);
});

有什么建议吗?我尝试了.change().click(),但没有。

4 个答案:

答案 0 :(得分:1)

进入更改功能后,您不必再执行其他搜索或选择器,因为您已拥有该对象,您只需从中找到所选选项即可。所以你可以试试这个:

$('#id_financial_institution').change(function () {
          var value = $(this).find("option:selected").text();
          $("fi").text(value);
});

如果代码仍然没有返回,您可以回答开始在每个点添加警报,看看您的位置以及您拥有的价值并从那里开始工作?

答案 1 :(得分:0)

而不是.text()使用.val()

$(function() {
    $('#id_financial_institution').change(function () {
          var value = $("#id_financial_institution option:selected").val()
         alert(value);
});

})

这是一个示例演示,没有您的HTML。我只是警惕价值。

DEMO

答案 2 :(得分:0)

你说这一切都错了。您已在select中拥有this元素,您只需要该select元素的值。

$('#id_financial_institution').change(function () {
  var value = $(this).val();
  $('#fi').text(value); //i assume `fi` is an [id]
  //do more stuff
});

答案 3 :(得分:0)

我进入了我的AJAX调用并获得了我需要的字段的值。出于某种原因,当使用AJAX调用时,它不会触发该特定字段上的.change()。

感谢大家的所有投入。