jQuery.when()。then()不使用select change事件

时间:2012-07-22 23:44:14

标签: jquery

我在页面中有一些代码,当我更改国家/地区选择框时会加载城市列表。

我正在尝试使用流动的代码在页面中设置默认值,但是.then之后的jquery不起作用。任何想法?

这个国家运作完美,但城市没有装载。

jQuery(window).load(function() {
   jQuery(document).ready(function(){
       jQuery('#jr_country').val('united-kingdom');
       jQuery.when( jQuery('#jr_country').change() ).then( jQuery('#jr_city').val('london') );
    });
}); 

2 个答案:

答案 0 :(得分:0)

$.when()接受jquery $.Deferred对象,而.change()返回jquery对象实例。

如果您想在代码中使用promises,请将其重写为:

var d = jQuery.Deferred().then(...);
jQuery('#jr_country').change(d.resolve);

工作示例:http://jsfiddle.net/zerkms/QuU3f/

答案 1 :(得分:0)

您可以评估索引

    $("#select_id").change(function () {
    if ($("#select_id")[0].selectedIndex == 1){
      // Do something
    }
    });

您可以通过

评估价值
    $("#select_id").val();