2011-04-29 90 views
0

我可能以最糟糕的方式做到這一點,但我試圖:a)根據從社交網絡插件收到的數據選擇下拉選項,並b)強制onchange事件以使連續的dropmenus出現並填充。如何從下拉列表中選擇選項並執行onchange jquery

我正在使用國家,州和城市數據。在頁面加載時,國家/地區下拉列表中會顯示兩個選項:墨西哥和美國。選擇其中一個時,狀態下拉列表會自動填充,一旦選擇了狀態,城市下拉列表就會填充。

這裏的標記:

<tr> 
<td id="field-country" class="tags-form"></td> 
    <td><select onchange="CreateCountries.getRegions(this.value);" 
name="country_id" id="country_id" value="" style="width: 130px;" 
class="campos-tabla"></select></td> 
</tr> 
<tr> 
    <td id="field-state" class="tags-form"></td> 
    <td><select onchange="CreateCountries.getCities(this.value);" 
name="state_id" id="state_id" value="" style="width: 130px;" 
class="campos-tabla"></select></td> 
</tr> 
<tr> 
    <td id="field-city" class="tags-form"></td> 
    <td><select name='city_id' id="city_id" value=""class="campos-tabla" 
style="width: 130px;"></select></td> 
</tr> 

,這裏是我的嘗試a)選擇根據接收到的數據下拉菜單選項和b)激活onchange事件使下一個下拉菜單,將填充,然後用我的下一個繼續選擇:

_fillFields: function(){ 
logingygia.fields.firstname.val(logingygia.firstname); 
logingygia.fields.lastname.val(logingygia.lastname); 
logingygia.fields.email.val(logingygia.email); 
    if (logingygia.gender == 'm') { 
    $('#genderM').attr('checked',true); 
     } 
     else { 
      $('#genderF').attr('checked',true); 
     }; 
logingygia.fields.birthmonth.val(d2(logingygia.birthmonth)); 
logingygia.fields.birthday.val(d2(logingygia.birthday)); 
logingygia.fields.birthyear.val(logingygia.birthyear) 
if (logingygia.country == 'United States') { 
     $('#country_id').val(212); 
      } 
      else { 
       $('#country_id').val(143); 
      }; 
      if $('#country_id option: selected ').length){ 

       if ($('#country_id option:selected').length) 
        $('#country_id').val("state_id).change(); 
           }else{ 
            return (""); 
      }; 
      } 
}; 

的,如果(本身logingygia.country將正確選擇國家不幸的是,當我結合,與「如果COUNTRY_ID:選項」,沒有一個國家選擇和狀態下拉菜單會顯示了只有「Selecciona」但n沒有任何選擇...這是有道理的,因爲沒有選擇國家。

我敢肯定,代碼是一團糟,所以我非常感謝一些更好的頭腦來幫助我。

回答

1

如果您錯過了一個圓括號,並且我不確定您是否可以在下列位置之後留出空格:。此外,你錯過了一個報價。如果兩次你有相同的。

if ($('#country_id option:selected').length){ 
    $('#country_id').val('state_id').change(); 
}else{ 
    return (""); 
}; 

修復語法,看看是否修復它。

相關問題