【问题标题】:JQuery - Select menu - OnChange Reevaluate ValueJQuery - 选择菜单 - OnChange 重新评估值
【发布时间】:2012-08-03 10:56:07
【问题描述】:

我有一个包含国家名称列表的选择菜单。我正在使用 jquery 来获取当前选定选项的值。我将此附加到我用来填充自动完成字段的远程源文件的 url。

我需要在国家选择菜单的 onchange 函数中更新选择菜单的值。当前,它在第一次加载页面时使用选择菜单的值。

我试图让它重新评估 onchange 的值,以改变我试图在远程页面上运行的 mysql 查询的结果。

<script type="text/javascript">

  $(function() {

  $('#from_country').val("");

  $("#city").autocomplete({
    source: "json-list.php?country=" + $( "#from_country" ).val(),
    minLength: 3,
    select: function(event, ui) {
      $('#from_zip').val(ui.item.postal_code);
    }
  });
});

</script>

<select name="from_country"  id="from_country" >
  <option value='US'>United States</option>
  <option value='AU'>Australia</option>
</select>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以使用change 事件处理程序:

    $('#from_country').change(function(){
      var val = this.value;
      $("#city").autocomplete({
        source: "json-list.php?country=" + val,
        minLength: 3,
        select: function(event, ui) {
          $('#from_zip').val(ui.item.postal_code);
        }
      });
    }).change()
    

    【讨论】:

    • 谢谢!但是,这最初不起作用,因为它取决于首先更改选择菜单中的选项。有什么方法可以在页面加载时保持它最初的工作并在更改时更新?再次感谢
    • @dabra904 不客气,您可以触发change 事件,尝试更新后的答案。
    • 完美。再次感谢 - 真的很感激!
    【解决方案2】:

    您可以在初始化后更改源选项:

    $("#city").autocomplete( "option", "source", /* new source path */ );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多