2017-10-06 1 views
0

私はphpとスクリプトが初めてです。小さな事を一つ解決するのを助けてください。スクリプトによるドロップダウンのプレースホルダ

は、私たちはどの国を選択するまでhttp://jsfiddle.net/bdhacker/eRv2W/

が、私はその空白を国のドロップダウンリストを持っており、国はすでに「選択国」を表示した場合を述べたが州/地域に...ここから私のコードを取得します。 Select CountryのようなSelect State/Provinceのプリディスプレイを持っていたい。ここで

は私の作業リンクはこちらhttps://www.paradoxaccess.com/lp/country/Access_Roads.html

である私のスクリプトは

// Countries 
 
var country_arr = new Array("Canada", "United States"); 
 

 
// States 
 
var s_a = new Array(); 
 
s_a[0] = ""; 
 
s_a[1] = "Alberta|British Columbia|Manitoba|New 
 
Brunswick|Newfoundland|Northwest Territories|Nova 
 
Scotia|Nunavut|Ontario|Prince Edward Island|Quebec|Saskatchewan|Yukon 
 
Territory"; 
 
s_a[2] = "Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware| 
 
District of Columbia|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa| 
 
Kansas| Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan| 
 
Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire 
 
|New Jersey|New Mexico|New York|North Carolina|North 
 
Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island| 
 
South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia 
 
|Washington|West Virginia|Wisconsin|Wyoming"; 
 

 
function populateStates(countryElementId, stateElementId) { 
 

 
var selectedCountryIndex = document.getElementById(countryElementId).selectedIndex; 
 
var stateElement = document.getElementById(stateElementId); 
 

 
stateElement.length = 0; // Fixed by Julian Woods 
 
stateElement.options[0] = new Option('Select Province/State', ''); 
 
stateElement.selectedIndex = 0; 
 

 
var state_arr = s_a[selectedCountryIndex].split("|"); 
 

 
for (var i = 0; i < state_arr.length; i++) { 
 
stateElement.options[stateElement.length] = new Option(state_arr[i], 
 
state_arr[i]); 
 
    } 
 
} 
 

 
function populateCountries(countryElementId, stateElementId) { 
 
// given the id of the <select> tag as function argument, it inserts 
 
<option> tags 
 
var countryElement = document.getElementById(countryElementId); 
 
countryElement.length = 0; 
 
countryElement.options[0] = new Option('Select Country', '-1'); 
 
countryElement.selectedIndex = 0; 
 
for (var i = 0; i < country_arr.length; i++) { 
 
    countryElement.options[countryElement.length] = new 
 
Option(country_arr[i], country_arr[i]); 
 
} 
 

 
// Assigned all countries. Now assign event listener for the states. 
 

 
if (stateElementId) { 
 
    countryElement.onchange = function() { 
 
     populateStates(countryElementId, stateElementId); 
 
     }; 
 
    } 
 
} 
 

 

 
    <!-- HTML --> 
 
    <select id="country" name="country"></select> 
 
    <br /> 
 
    
 
    <select name="state" id="state"></select> 
 
    <br/> 
 
    
 
    <script language="javascript"> 
 
     populateCountries("country", "state"); 
 
     
 
    </script>

で事前にありがとうございました。

+0

あなたはこの回答を見ましたか? https://stackoverflow.com/questions/5805059/how-do-i-make-a-placeholder-for-a-select-box – NewToJS

答えて

0

populateStates関数をonchange関数の外で呼び出すと、デフォルトの項目が実行されて値が設定されます。

// Assigned all countries. Now assign event listener for the states. 
if (stateElementId) { 
    populateStates(countryElementId, stateElementId); 
    countryElement.onchange = function() { 
     populateStates(countryElementId, stateElementId); 
    }; 
} 
関連する問題