javascript尝试将selectbox中的数据库生成的文本复制到文本框中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (43)

我正在努力制作一个包含大陆,地区,国家,省,市,区和村庄的链式下拉列表,但我被困在国家。

我的下拉列表要求我使用数据库中的id链接所有下拉列表,所以要获取文本名称我通常使用此方法:

国家:

<select name="loc_country" class="loc_country loc5" id="loc_country" onchange="javacript: var valor2 = this.options[selectedIndex].text; document.getElementById('loc_country_real').value = valor2;">
<option value="0">-Select-</option>
</select>                   
<input type="text" id="loc_country_real" name="loc_country_real">

但是这个方法这次不起作用所以我尝试了另一种方法:

  <select name="loc_country" class="loc_country loc5" id="loc_country">
    <option value="0">-Select-</option>
    </select>
 <input type="text" id="loc_country_real" name="loc_country_real">

和js:

$("#continent").change(function () {
    $("#loc_country_real").val($('#loc_country').text());
});

并希望当我的id =“continent”的选择框发生变化时,该值将更新。 并且该方法也失败了,因为“loc_country_real”中给出的值与selectbox“loc_country”不匹配 (例如:当我在大陆选择框中选择欧洲时,loc_country选择框将为我提供一个欧洲国家列表,但其值为“loc_country_real”将是来自国家的亚洲人) 我需要使“loc_country”和“loc_country_real”中的文本匹配,但我不知道该怎么做,请帮忙。

提问于
用户回答回答于

尝试这个:

更改您的选择以使VALUE与您想要的文本匹配EG:

<select name="loc_country" class="loc_country loc5" id="loc_country">
  <option value="0">--Select--</option>
  <option value="USA">USA</option>
  <option value="Canada">Canada</option>
  <option value="Mexico">Mexico</option>
</select>

然后,您可以使用它document.getElementById('loc_country').value来获取所选的选项值

// Change `loc_country_real`'s value to match `loc_country` selected option
document.getElementById('loc_country_real').value = document.getElementById('loc_country').value;

或jQuery方式:

$('#loc_country').change(function(){
    $('#loc_country_real').val($('#loc_country').val());
});

编辑,因为你提到你不能使用价值:

$('#loc_country').change(function(){
    var textOfSelectedOption = $("#loc_country option:selected").text();
    $('#loc_country_real').val(textOfSelectedOption);
});

扫码关注云+社区

领取腾讯云代金券