jQuery绑定-如何将此Ajax调用的结果绑定到文档


jQuery binding - how can I bind the result of this Ajax call to the document?

我正在做这件事:

jQuery("#country_id").change(function() {
    id = jQuery("#country_id").val();
    jQuery.ajax({
        type: "GET",
        url: 'index.php?option=com_jomdirectory&task=getprovince&format=raw&type=province',
        dataType: "html",
        data: "id=" + id,
        success: function(data) {
            jQuery('#provincelist').html(data).find('select').addClass("form-control chosen-select").chosen();
        }
    });
});

问题是,这并没有绑定到文档,所以当我尝试启动下一个ajax调用(检索城市列表)时,

我基本上有3个选择:

1) Country-onchange启动ajax调用以获取省份(这很有效,并为我提供了省份选择列表)

2) 然后在更改省份时,它应该为城市选择发出ajax调用

3) 城市ajax呼叫未启动。

我该如何将结果绑定到文档中,这样我就可以在更改时启动下一个ajax调用,而不会过多地处理这段代码?

谢谢,

J

@PraveenKumar我的下一个ajax调用不会启动,因为它本身就是ajax调用的结果。我基本上有三个选择:1)国家->省->城市,当我更改国家(省份选择显示),但当我更改省份时,不会发生任何事情-ajax对city的呼吁没有被激发。

您需要使用省份选择的事件委派。

jQuery("#provincelist").on('change', '#province_id', function() {

当您使用jQuery('#provincelist').html(data)替换select时,您将丢失select上的更改事件,因为您正在替换整个元素。