将下拉值设置为隐藏字段

时间:2016-03-18 05:55:53

标签: javascript

我有一个html5页面,我想根据隐藏字段设置下拉菜单的值,但它不起作用。

function checkPayAdd() { 
var i;
var PayAddOption =document.querySelectorAll('input[name="PayAddOption"]');

for ( i = 0;  i < PayAddOption.length; i++) {

if (PayAddOption[i].checked == true) {

switch(i)
{
  case 0:
  document.getElementById("BillingAddress1").value = document.getElementById("Contact_Address1").value;      
  document.getElementById("BillingAddress2").value = document.getElementById("Contact_Address2").value;
  document.getElementById("BillingCity").value = document.getElementById("Contact_City").value;
  document.getElementById("BillingProv").selectedIndex = document.getElementById("First_Corp_Director_Prov").value;      
  document.getElementById("BillingPostalCode").value = document.getElementById("Contact_Postal").value; 
  document.getElementById("BillingCountry").selectedIndex = document.getElementById("First_Corp_Director_Country").value;       
  break     

我将隐藏字段的值设置为与下拉列表中的值相同的格式 - 即。隐藏字段中的省值是:“AL”,然后应将Billing.Prov下拉值设置为相同。这些是隐藏的字段

<input type="hidden" name="First_Corp_Director_Province"  id="First_Corp_Director_Province" value="AL">

        <input type="hidden" name="First_Corp_Director_Country" id="First_Corp_Director_Country" value="US">

<select name="BillingProv" id="BillingProv" class="form-control">
            <option value="">select State or Province (Canada/US Only)</option>
            <option value="ZZ">Outside US or Canada</option>
            <optgroup label="United States">
              <option id="USA-AL" value="AL">Alabama (AL)</option>
              <option id="USA-AK" value="AK">Alaska (AK)</option>
              <option id="USA-AZ" value="AZ">Arizona (AZ)</option> 

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

这里有2个错误

  1. 您应该分配select元素的,而不是 selectedIndex

  2. 隐藏字段的ID错误。应该是 First_Corp_Director_Province 而不是 的 First_Corp_Director_Prov

  3. 所以用

    替换第4行开关盒0
    document.getElementById("BillingProv").value = document.getElementById("First_Corp_Director_Province").value;
    

    和第6行

    document.getElementById("BillingCountry").value = document.getElementById("First_Corp_Director_Country").value;