Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选项:选择不触发。更改()_Javascript_Jquery - Fatal编程技术网

Javascript 选项:选择不触发。更改()

Javascript 选项:选择不触发。更改(),javascript,jquery,Javascript,Jquery,我有一个下拉框,里面有一个机构列表。现在,如果我手动选择一个选项,它会工作,并且我能够获取正确的值 然而,我有一个SelectRates按钮,它使用JavaScript拉出一个费率表。您从该表中选择一个费率,它将从下拉列表中为您选择一个与费率表中的费率对应的选项。如果使用此方法,它不会触发.change,因此无法获取所选选项的值 $('#id_financial_institution').change(function () { var value = $("#id_fin

我有一个下拉框,里面有一个机构列表。现在,如果我手动选择一个选项,它会工作,并且我能够获取正确的值

然而,我有一个SelectRates按钮,它使用JavaScript拉出一个费率表。您从该表中选择一个费率,它将从下拉列表中为您选择一个与费率表中的费率对应的选项。如果使用此方法,它不会触发.change,因此无法获取所选选项的值

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

有什么建议吗?我已经尝试过。更改和。单击,但不执行任何操作。

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

$('#id_financial_institution').change(function () {
          var value = $(this).find("option:selected").text();
          $("fi").text(value);
});
如果代码仍然没有返回您的答案,请开始在每个点添加警报,以查看您所在的位置和您拥有的值,并从那里开始工作?

而不是.text use.val

这是一个示例演示,没有html。我只是在提醒这个值


你完全搞错了。您已经有了这个select元素,您所需要的只是该select元素的值


我在AJAX调用中得到了所需字段的值。出于某种原因,当使用AJAX调用时,它不会在该特定字段上触发.change


谢谢大家的输入。

除了$fi,您还说:您从该表中选择一个费率,它将填充下拉列表,然后从下拉列表中选择值吗?我不知道你如何选择值,如果你不选择值,你什么也得不到。另外,$id\u financial\u institution option:selected可能会返回一个数组。如果我们看到您拥有的html相关部分的示例输出,可能会有更大帮助。好的,我在声明变量之前发出了一个警报,除非手动更改下拉选项,否则不会触发。六羟甲基三聚氰胺六甲醚。。我不知道现在该怎么办?太好了,这是一个很好的开始。通过编程设置所选索引或所选值,可以触发$'id\u financial\u institution'组合框更改事件。换句话说,一旦从列表中选择了速率,从列表中获取与组合框中的项目对应的键或值,然后设置它。$'id_financial_institution'.val[列表中的值或键];实际上,您可能希望使用jQuery反向触发列表项的单击事件,您可以使用一个简单的类,例如$.mylistitem.clickfunction{$'id\u financial\u institution.val$this.text;};根据列表中元素的类型,.text可能不同。此外,如果fi是另一个input、textarea或select元素,则需要使用$'fi'。valvalue@refhat,OP没有指定选择器fi的类型。通常,当这种情况发生时,是因为程序员想要使用[id],这就是为什么我做出了这样的假设,并在代码中迅速地描述了它。
$(function() {
    $('#id_financial_institution').change(function () {
          var value = $("#id_financial_institution option:selected").val()
         alert(value);
});

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