javascript试图将选择框中的数据库生成的文本复制到文本框中

时间:2018-09-16 14:25:00

标签: javascript drop-down-menu

我正在尝试创建一个包含大陆,地区,国家,省,城市,地区和村庄的链接下拉列表,但是我却停留在国家/地区。

我的下拉菜单要求我使用数据库中的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”中提供的值与选择框“ loc_country”不匹配

(例如:当我在大洲选择框上选择欧洲时,loc_country选择框会给我一个欧洲国家/地区列表,但“ loc_country_real”中的值将是来自国家/地区的亚洲)

我需要使“ loc_country”和“ loc_country_real”中的文本匹配,但我不知道该怎么做,请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试一下:

更改所选内容,使其值与您想要的文字匹配,例如:

<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);
});