我正在尝试创建一个包含大陆,地区,国家,省,城市,地区和村庄的链接下拉列表,但是我却停留在国家/地区。
我的下拉菜单要求我使用数据库中的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”中的文本匹配,但我不知道该怎么做,请帮忙。
答案 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);
});