下拉列表以更改select上的值

时间:2012-03-26 09:10:18

标签: php javascript mysqli

下拉值没有出现在第二个列表中,尝试了一切。当用户选择国家时,状态应该从DB填充到第二个下拉,请帮助。代码:

Javascript部分用于从第1个下拉列表中获取选定值并设置第2个下拉列表

  <script type="text/javascript">
  function showUser(str)
  {
  if (str=="")
   {
    document.getElementById("statename").innerHTML="";
    return;
   } 
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
  }
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("statename").innerHTML=xmlhttp.responseText;
 }
}
xmlhttp.open("GET","getstate.php?q="+str,true);
xmlhttp.send();
}
</script>

Html部分:     

选择国家/地区

         

         <option value=""   >Select One</option>
                <option value="Afghanistan"   >Afghanistan</option>
                <option value="Aland Islands"   >Aland Islands</option>
                <option value="Albania"   >Albania</option>
                <option value="Algeria"   >Algeria</option>
                <option value="American Samoa"   >American Samoa</option>
                <option value="Andorra"   >Andorra</option>
                <option value="Angola"   >Angola</option>
                <option value="Anguilla"   >Anguilla</option>
                <option value="Antarctica"   >Antarctica</option>
                <option value="Antigua and Barbuda"   >Antigua and Barbuda</option>
                <option value="Argentina"   >Argentina</option>
                <option value="Armenia"   >Armenia</option>
                <option value="Aruba"   >Aruba</option>
                <option value="Australia"   >Australia</option>
                <option value="Austria"   >Austria</option>
                <option value="Azerbaijan"   >Azerbaijan</option>
                <option value="Bahamas"   >Bahamas</option>
                <option value="Bahrain"   >Bahrain</option>
                <option value="Bangladesh"   >Bangladesh</option>
                <option value="Barbados"   >Barbados</option>
                <option value="Belarus"   >Belarus</option>
                <option value="Belgium"   >Belgium</option>
                <option value="Belize"   >Belize</option>
                <option value="Benin"   >Benin</option>
                <option value="Bermuda"   >Bermuda</option>
                <option value="Bhutan"   >Bhutan</option>
                <option value="Bolivia"   >Bolivia</option>
                <option value="Bosnia and Herzegovina"   >Bosnia and Herzegovina</option>
                <option value="Botswana"   >Botswana</option>
                <option value="Bouvet Island"   >Bouvet Island</option>
                <option value="Brazil"   >Brazil</option>
                <option value="British Indian Ocean Territory"   >British Indian Ocean Territory</option>
                <option value="British Virgin Islands"   >British Virgin Islands</option>
                <option value="Brunei"   >Brunei</option>
                <option value="Bulgaria"   >Bulgaria</option>
                <option value="Burkina Faso"   >Burkina Faso</option>
                <option value="Burundi"   >Burundi</option>
                <option value="Cambodia"   >Cambodia</option>
                <option value="Cameroon"   >Cameroon</option>
                <option value="Canada"   >Canada</option>
                <option value="Cape Verde"   >Cape Verde</option>
                <option value="Cayman Islands"   >Cayman Islands</option>
                <option value="Central African Republic"   >Central African Republic</option>
                <option value="Chad"   >Chad</option>
                <option value="Chile"   >Chile</option>
                <option value="China"   >China</option>
                <option value="Christmas Island"   >Christmas Island</option>
                <option value="Cocos (Keeling) Islands"   >Cocos (Keeling) Islands</option>
                <option value="Colombia"   >Colombia</option>
                <option value="Comoros"   >Comoros</option>
                <option value="Congo"   >Congo</option>
                <option value="Cook Islands"   >Cook Islands</option>
                <option value="Costa Rica"   >Costa Rica</option>
                <option value="Croatia"   >Croatia</option>
                <option value="Cuba"   >Cuba</option>
                <option value="Cyprus"   >Cyprus</option>
                <option value="Czech Republic"   >Czech Republic</option>
                <option value="Democratic Republic of Congo"   >Democratic Republic of Congo</option>
                <option value="Denmark"   >Denmark</option>
                <option value="Djibouti"   >Djibouti</option>
                <option value="Dominica"   >Dominica</option>
                <option value="Dominican Republic"   >Dominican Republic</option>
                <option value="East Timor"   >East Timor</option>
                <option value="Ecuador"   >Ecuador</option>
                <option value="Egypt"   >Egypt</option>
                <option value="El Salvador"   >El Salvador</option>
                <option value="Equatorial Guinea"   >Equatorial Guinea</option>
                <option value="Eritrea"   >Eritrea</option>
                <option value="Estonia"   >Estonia</option>
                <option value="Ethiopia"   >Ethiopia</option>
                <option value="Falkland Islands"   >Falkland Islands</option>
                <option value="Faroe Islands"   >Faroe Islands</option>
                <option value="Federated States of Micronesia"   >Federated States of Micronesia</option>
                <option value="Fiji"   >Fiji</option>
                <option value="Finland"   >Finland</option>
                <option value="France"   >France</option>
                <option value="French Guyana"   >French Guyana</option>
                <option value="French Polynesia"   >French Polynesia</option>
                <option value="French Southern Territories"   >French Southern Territories</option>
                <option value="Gabon"   >Gabon</option>
                <option value="Gambia"   >Gambia</option>
                <option value="Georgia"   >Georgia</option>
                <option value="Germany"   >Germany</option>
                <option value="Ghana"   >Ghana</option>
                <option value="Gibraltar"   >Gibraltar</option>
                <option value="Greece"   >Greece</option>
                <option value="Greenland"   >Greenland</option>
                <option value="Grenada"   >Grenada</option>
                <option value="Guadeloupe"   >Guadeloupe</option>
                <option value="Guam"   >Guam</option>
                <option value="Guatemala"   >Guatemala</option>
                <option value="Guinea"   >Guinea</option>
                <option value="Guinea-Bissau"   >Guinea-Bissau</option>
                <option value="Guyana"   >Guyana</option>
                <option value="Haiti"   >Haiti</option>
                <option value="Heard Island and Mcdonald Islands"   >Heard Island and Mcdonald Islands</option>
                <option value="Honduras"   >Honduras</option>
                <option value="Hong Kong"   >Hong Kong</option>
                <option value="Hungary"   >Hungary</option>
                <option value="Iceland"   >Iceland</option>
                <option value="India"   >India</option>
                <option value="Indonesia"   >Indonesia</option>
                <option value="Iran"   >Iran</option>
                <option value="Iraq"   >Iraq</option>
                <option value="Iraq-Saudi Arabia Neutral Zone"   >Iraq-Saudi Arabia Neutral Zone</option>
                <option value="Ireland"   >Ireland</option>
                <option value="Israel"   >Israel</option>
                <option value="Italy"   >Italy</option>
                <option value="Ivory Coast"   >Ivory Coast</option>
                <option value="Jamaica"   >Jamaica</option>
                <option value="Japan"   >Japan</option>
                <option value="Jordan"   >Jordan</option>
                <option value="Kazakhstan"   >Kazakhstan</option>
                <option value="Kenya"   >Kenya</option>
                <option value="Kiribati"   >Kiribati</option>
                <option value="Kuwait"   >Kuwait</option>
                <option value="Kyrgyzstan"   >Kyrgyzstan</option>
                <option value="Laos"   >Laos</option>
                <option value="Latvia"   >Latvia</option>
                <option value="Lebanon"   >Lebanon</option>
                <option value="Lesotho"   >Lesotho</option>
                <option value="Liberia"   >Liberia</option>
                <option value="Libya"   >Libya</option>
                <option value="Liechtenstein"   >Liechtenstein</option>
                <option value="Lithuania"   >Lithuania</option>
                <option value="Luxembourg"   >Luxembourg</option>
                <option value="Macau"   >Macau</option>
                <option value="Macedonia"   >Macedonia</option>
                <option value="Madagascar"   >Madagascar</option>
                <option value="Malawi"   >Malawi</option>
                <option value="Malaysia"   >Malaysia</option>
                <option value="Maldives"   >Maldives</option>
                <option value="Mali"   >Mali</option>
                <option value="Malta"   >Malta</option>
                <option value="Marshall Islands"   >Marshall Islands</option>
                <option value="Martinique"   >Martinique</option>
                <option value="Mauritania"   >Mauritania</option>
                <option value="Mauritius"   >Mauritius</option>
                <option value="Mayotte"   >Mayotte</option>
                <option value="Mexico"   >Mexico</option>
                <option value="Moldova"   >Moldova</option>
                <option value="Monaco"   >Monaco</option>
                <option value="Mongolia"   >Mongolia</option>
                <option value="Montserrat"   >Montserrat</option>
                <option value="Montenegro"   >Montenegro</option>
                <option value="Morocco"   >Morocco</option>
                <option value="Mozambique"   >Mozambique</option>
                <option value="Myanmar"   >Myanmar</option>
                <option value="Namibia"   >Namibia</option>
                <option value="Nauru"   >Nauru</option>
                <option value="Nepal"   >Nepal</option>
                <option value="Netherlands"   >Netherlands</option>
                <option value="Netherlands Antilles"   >Netherlands Antilles</option>
                <option value="New Caledonia"   >New Caledonia</option>
                <option value="New Zealand"   >New Zealand</option>
                <option value="Nicaragua"   >Nicaragua</option>
                <option value="Niger"   >Niger</option>
                <option value="Nigeria"   >Nigeria</option>
                <option value="Niue"   >Niue</option>
                <option value="Norfolk Island"   >Norfolk Island</option>
                <option value="North Korea"   >North Korea</option>
                <option value="Northern Mariana Islands"   >Northern Mariana Islands</option>
                <option value="Norway"   >Norway</option>
                <option value="Oman"   >Oman</option>
                <option value="Pakistan"   >Pakistan</option>
                <option value="Palau"   >Palau</option>
                <option value="Palestinian Territories"   >Palestinian Territories</option>
                <option value="Panama"   >Panama</option>
                <option value="Papua New Guinea"   >Papua New Guinea</option>
                <option value="Paraguay"   >Paraguay</option>
                <option value="Peru"   >Peru</option>
                <option value="Philippines"   >Philippines</option>
                <option value="Pitcairn Islands"   >Pitcairn Islands</option>
                <option value="Poland"   >Poland</option>
                <option value="Portugal"   >Portugal</option>
                <option value="Puerto Rico"   >Puerto Rico</option>
                <option value="Qatar"   >Qatar</option>
                <option value="Reunion"   >Reunion</option>
                <option value="Romania"   >Romania</option>
                <option value="Russia"   >Russia</option>
                <option value="Rwanda"   >Rwanda</option>
                <option value="Saint Helena and Dependencies"   >Saint Helena and Dependencies</option>
                <option value="Saint Kitts and Nevis"   >Saint Kitts and Nevis</option>
                <option value="Saint Lucia"   >Saint Lucia</option>
                <option value="Saint Pierre and Miquelon"   >Saint Pierre and Miquelon</option>
                <option value="Saint Vincent and the Grenadines"   >Saint Vincent and the Grenadines</option>
                <option value="Samoa"   >Samoa</option>
                <option value="San Marino"   >San Marino</option>
                <option value="Sao Tome and Principe"   >Sao Tome and Principe</option>
                <option value="Saudi Arabia"   >Saudi Arabia</option>
                <option value="Senegal"   >Senegal</option>
                <option value="Serbia"   >Serbia</option>
                <option value="Seychelles"   >Seychelles</option>
                <option value="Sierra Leone"   >Sierra Leone</option>
                <option value="Singapore"   >Singapore</option>
                <option value="Slovakia"   >Slovakia</option>
                <option value="Slovenia"   >Slovenia</option>
                <option value="Solomon Islands"   >Solomon Islands</option>
                <option value="Somalia"   >Somalia</option>
                <option value="South Africa"   >South Africa</option>
                <option value="South Georgia and South Sandwich Islands"   >South Georgia and South Sandwich Islands</option>
                <option value="South Korea"   >South Korea</option>
                <option value="Spain"   >Spain</option>
                <option value="Spratly Islands"   >Spratly Islands</option>
                <option value="Sri Lanka"   >Sri Lanka</option>
                <option value="Sudan"   >Sudan</option>
                <option value="Suriname"   >Suriname</option>
                <option value="Svalbard and Jan Mayen"   >Svalbard and Jan Mayen</option>
                <option value="Swaziland"   >Swaziland</option>
                <option value="Sweden"   >Sweden</option>
                <option value="Switzerland"   >Switzerland</option>
                <option value="Syria"   >Syria</option>
                <option value="Taiwan"   >Taiwan</option>
                <option value="Tajikistan"   >Tajikistan</option>
                <option value="Tanzania"   >Tanzania</option>
                <option value="Thailand"   >Thailand</option>
                <option value="Togo"   >Togo</option>
                <option value="Tokelau"   >Tokelau</option>
                <option value="Tonga"   >Tonga</option>
                <option value="Trinidad and Tobago"   >Trinidad and Tobago</option>
                <option value="Tunisia"   >Tunisia</option>
                <option value="Turkey"   >Turkey</option>
                <option value="Turkmenistan"   >Turkmenistan</option>
                <option value="Turks And Caicos Islands"   >Turks And Caicos Islands</option>
                <option value="Tuvalu"   >Tuvalu</option>
                <option value="Uganda"   >Uganda</option>
                <option value="Ukraine"   >Ukraine</option>
                <option value="United Arab Emirates"   >United Arab Emirates</option>
                <option value="United Kingdom"   >United Kingdom</option>
                <option value="United States"   >United States</option>
                <option value="United States Minor Outlying Islands"   >United States Minor Outlying Islands</option>
                <option value="Uruguay"   >Uruguay</option>
                <option value="US Virgin Islands"   >US Virgin Islands</option>
                <option value="Uzbekistan"   >Uzbekistan</option>
                <option value="Vanuatu"   >Vanuatu</option>
                <option value="vVatican City"   >Vatican City</option>
                <option value="Venezuela"   >Venezuela</option>
                <option value="Vietnam"   >Vietnam</option>
                <option value="Wallis and Futuna"   >Wallis and Futuna</option>
                <option value="Western Sahara"   >Western Sahara</option>
                <option value="Yemen"   >Yemen</option>
                <option value="Zambia"   >Zambia</option>
                <option value="Zimbabwe"   >Zimbabwe</option>


   </select>


  <h2>State</h2>
  <p>
   <select name="sub_category" id="statename"></select> </p>
   <h2>Select Category&nbsp;</h2>
   <input name=""  src="http://animalswecare.in/images/search_button.gif" type="image"  />

   </div>

getstate.php的代码(如果在DB中找到,则用于获取所选国家/地区的状态)

 <?php
 $q=$_GET["q"];


 require_once("../appvars.php");
 require_once("../connectuser.php");
 $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die("error connecting please refresh or try later");
 $query = ("SELECT * FROM ads_DB WHERE country=$q") or die("error querying");

  $data=mysqli_query($dbc, $query) or die("error here");

 echo "<select name='sub_category'>";
 ?>
 <option value="All" selected>All</option>
 <?php
 while($row = mysqli_fetch_array($data))
 {
 ?>
 <option value="<?php echo $row['state']; ?>" ><?php echo $row['state']; ?></option>

 <?php

 }
 ?>
 <option value="Other" >Other</option>
 <?php
 echo "</select>";

 mysqli_close($dbc);
 ?>


 </form>

链接是:http://animalswecare.in/ads/adleft.php 我在其他地方使用过类似的代码而且它们正在工作,不知道为什么不在这里工作。

这里为宠物和品种做了同样的事情,它也在起作用:http://animalswecare.in/ads/post-free-pets-animals-ads.php

4 个答案:

答案 0 :(得分:1)

尝试这样

SELECT * FROM ads_DB WHERE country='$q'

Bcoz你在where子句中使用字符串值。字符串需要单引号..

希望有所帮助......

答案 1 :(得分:0)

你在打电话给showUser吗?在选择更改?

   <select name=blah onchange="showUser()">

答案 2 :(得分:0)

您检查readyState 4 = completed但服务器返回readyState 1 loaded

答案 3 :(得分:0)

您在提供的链接中收到此错误:

Error: uncaught exception: [Exception... "Not enough arguments [nsIXMLHttpRequest.send]"  
nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: 
http://animalswecare.in/ads/adleft.php :: showUser :: line 27"  data: no]


所以也请尝试

xmlhttp.send(null)
在您的AJAX代码中

。这可能有所帮助。