我在HTML中有这个选择输入
<select class="" id="countries" name="Country">
<option value="AL">
Albania
</option>
<option value="HR">
Croatia
</option>
<option value="BG">
Bulgaria
</option>
<option value="MK">
Macedonia
</option>
<option value="MT">
Malta
</option>
<option value="MD">
Moldova
</option>
<option value="RO">
Romania
</option>
<option value="RS">
Serbia
</option>
<option value="SI">
Slovenia
</option>
</select>
在Jquery中,我有与此选择值同名的数组.数组充满了无关的数据.
var Albania = [];
var Croatia = [];
var Bulgaria= [];
...
根据选择的国家/地区,应使用具有相同国家/地区名称的阵列填充另一个选择输入.另一个选择是#cepsp
$( "#countries").change(function() {
$('#cepsp').empty();
var option = '';
for (var tt=0;tt<Albania.length;tt++)
{option += '<option value="'+Albania[tt]+'">'+Albania[tt]+'</option>';}
$('#cepsp').append(option);
});
请注意我在Jquery中如何使用Albania数组,这很好用.但我也希望这个也适用于其他国家.
我试过了:
$( "#cepsp option:selected" ).text()[tt]
但当然这永远不会奏效.
如何将所选输入的文本传输到变量名称?
解决方法:
在不修改数组结构的情况下,您可以尝试使用eval指令将一些“变量名称作为变量”行为用于您的目的.更准确地说,eval函数计算可能包含变量的表达式和/或指令,例如,您可以定义两个变量var a = 1 var b = 2并运行eval(“a b”)将导致3.
JS
var Albania = ["ALBANIA", "ALBANIA2"];
var Croatia = ["CROATIA", "CROATIE2"];
var Bulgaria= ["BULGARIA", "BULGARIA2"];
$( "#countries").change(function()
{
$('#cepsp').empty();
var option = '';
var name = $("#countries option:selected").text();
for (var tt=0;tt<eval(name).length;tt++)
{
option += '<option value="'+eval(name)[tt]+'">'+eval(name)[tt]+'</option>';
}
$('#cepsp').append(option);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。