2012-03-21 78 views
0

首先對於重新發布抱歉,我投票刪除我的舊帖子,因爲我現在要求幫助代碼,而不僅僅是哪條路是更好的路線。任何我的代碼已多次更改選擇和輸入複製到一個輸入發佈

在我的頁面上有一個下拉選擇一個國家,從數據庫動態加載。一旦用戶選擇了一個國家,可能會發生兩件事。 1)如果他們選擇加拿大或美國,則會出現第二個下拉菜單,用戶可以選擇區域。 2)如果用戶選擇任何其他國家,它將創建一個輸入框,以便用戶可以改爲輸入區域。這一切工作正常。

現在有第三個輸入需要省/州值,因此可以發佈。我們只有兩個人會使用這種形式,所以我並不擔心JavaScript在瀏覽器中被關閉。

我的問題是,當用戶第一次選擇加拿大/美國和一個地區時,除非他們更改國家選擇,否則沒有填充到第三個輸入中。但是,如果他們選擇除加拿大/美國以外的國家並且必須輸入該地區,則按預期工作。

這是問題的一個例子:http://jsfiddle.net/owalsh/BQXZA/3/

如果有人能告訴我,爲什麼我會感激,感謝

+0

哥們看看這個作品:http://jsfiddle.net/5A4v4/4/讓我知道我可以將其設置爲答案;休息一下,你可以理清裝訂的喜好,歡呼! – 2012-03-21 02:40:50

+0

這固定了一切,非常感謝您的幫助。 – 2012-03-21 02:44:58

+0

我應該將其設置爲答案並且您接受答案嗎?歡呼:)) – 2012-03-21 02:45:22

回答

1

在這裏工作:http://jsfiddle.net/5A4v4/11/

HTML:

<form id="customer_bill_add_post" name="customer_bill_add_post"> 
<select id="country" name="country"> 
    <option value="0">Select a country</option> 
    <option value="CA">Canada</option> 
    <option value="US">United States</option> 
    <option value="OT">Other</option> 

</select> 

<select id="province_select" name="province_select"> 
    <option value="0">Select a Province</option> 
    <option value="AB">Alberta</option> 
    <option value="AL">Alabama</option> 
</select> 

<input type="text" id="province_input" name="province_input"> 
<input type="text" id="province" name="province" /> 
    </form> 

jquery:code(有一些額外的變化事件綁定繼續)你可以美化它。

 $(function(){ 
      //initially hide the textbox 
      $("#province_input").hide(); 
      $("#province_select").hide(); 

      $('#country').change(function() { 
       if($(this).find('option:selected').val() == "CA"){ 
       $("#province_select").show(); 
       $("#province_input").hide(); 
       } else if($(this).find('option:selected').val() == "US"){ 
       $("#province_select").show(); 
       $("#province_input").hide(); 
       } else { 
       $("#province_input").show(); 
       $("#province_select").hide(); 
       } 
      }); 


$('#country, #province_select, #province_input').bind("change", function() { 
    if($('#country').find('option:selected').val() == "CA"){ 
    document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_select.value; 
    } else if($('#country').find('option:selected').val() == "US"){ 
     document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_select.value; 
    } else { 
     //alert('foo'); 
     document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_input.value; 
     } 
});   


}); 

乾杯,現在

相關問題