jQuery ajax没有填充下拉列表

时间:2017-04-06 12:48:46

标签: javascript php jquery html ajax

我一直在破坏我的大脑试图解决这个问题。我没遇到选择下拉列表没有填充基于先前选择返回的结果。

相关的HTML代码如下:

<div class="widget property_search">
    <form action="https://www.agentsforbidden.co.za/" id="searchproperty" name="searchproperty" method="get">
        <div class="search_frm_left clearfix">
            <div class="form_row clearfix advt-ptype">
                <span class="chkbox"><input type="radio" name="property_type" id="property_type_Sale" value="Sale" checked= checked><label for="property_type_Sale">&nbsp;Sale</label></span>
                <span class="chkbox"><input type="radio" name="property_type" id="property_type_Rent" value="Rent"><label for="property_type_Rent">&nbsp;Rent</label></span>
            </div>              <div class="form_row">
                <label>Keyword</label>
                <input type="text" value="" name="s" id="search_near-1135114534" class="searchpost" placeholder="" />
            </div>
            <div class="form_row clearfix">
                <label>Province</label>                 <div class="selectbox">
                    <select name="adv_zone" id="adv_zone" class="adv_zone">
                        <option value="">Select province</option>
                        <option value="5">Eastern Cape</option>
                        <option value="3">Free State</option>
                        <option value="6">Gauteng</option>
                        <option value="2">KwaZulu-Natal</option>
                        <option value="9">Limpopo</option>
                        <option value="7">Mpumalanga</option>
                        <option value="10">North West</option>
                        <option value="8">Northern Cape</option>
                        <option value="11">Western Cape</option>
                    </select>
                </div>
            </div>
            <div class="form_row clearfix">
                <label>City</label>                  <div class="selectbox">
                    <select name="adv_city" id="adv_city" class="adv_city">
                        <option value="">Select City</option>
                    </select>
                </div>
            </div>

问题是当我选择省时,城市下拉列表没有填充。当我检查POST并使用FireBug返回值时,我可以看到我得到了所需的响应(下拉列表的所有选项),但它只是没有填充。

这里是相关的jQuery Ajax位:

jQuery(".adv_zone").live("change", function () {
    var e = jQuery(this),
        t = e.parents(".form_front_style").find(".adv_city"),
        i = jQuery(this).val();
    jQuery.ajax({
        url: ajaxUrl,
        type: "POST",
        data: "action=fill_city_cmb&state_id=" + i,
        success: function (e) {
            if (t.html(e), t.trigger("change"), "" != t.find("option:selected").val()) t.trigger("change");
            else {
                var i = t.find("option").first();
                t.next("span.select").text(i.text())
            }
        }
    })
})

最后是响应(由于已经很长的帖子而被截断):

<option value="">Select City</option><option value="5651">Akasia</option><option value="5652" >Alberton</option><option value="5653">Albertynsville</option><option value="5654" >Alexandra</option><option value="12694" >Alphen Park</option><option value="5655">Alrapark</option><option value="5656">Alrode</option><option value="5657">Althea</option>

当ajax被触发时,我可以看到以下部分为真并执行:

  

if(t.html(e),t.trigger(&#34; change&#34;),&#34;&#34;!= t.find(&#34; option:selected&#34; ).val())t.trigger(&#34;更改&#34;);

我非常感谢任何关于为什么这不能按预期工作的见解。

0 个答案:

没有答案
相关问题