Javascript 使用java脚本显示multiselect的警报
我有下面的Html代码。这是一份国家名单。我想显示的是,在选择单个或多个国家时,它会提示选择了哪些国家。我在JavaScript中使用以下代码。我不想使用Jquery、PHP或其他任何东西Javascript 使用java脚本显示multiselect的警报,javascript,Javascript,我有下面的Html代码。这是一份国家名单。我想显示的是,在选择单个或多个国家时,它会提示选择了哪些国家。我在JavaScript中使用以下代码。我不想使用Jquery、PHP或其他任何东西 <select name= "countrylaw"> <option value = "1">Afghanistan</option> <option value = "2">Albania</option>
<select name= "countrylaw">
<option value = "1">Afghanistan</option>
<option value = "2">Albania</option>
<option value = "3">Algeria</option>
<option value = "4">Andorra</option>
<option value = "5">Angola</option>
<option value = "6">Antigua & Deps</option>
<option value = "7">Argentina</option>
<option value = "8">Armenia</option>
阿富汗
阿尔巴尼亚
阿尔及利亚
安道尔
安哥拉
安提瓜和德普
阿根廷
亚美尼亚
这是我用Java脚本编写的代码,但它不起作用
var select1 = document.getElementsByName("country");
var selected1 = [];
for (var i = 0; i < select1.length; i++)
{
if (select1.options[i].selected)
{
alert("File Selected for " + select1.options[i].value +" ")
}
}
var select1=document.getElementsByName(“国家”);
var selected1=[];
对于(变量i=0;i
要使选择框可以多选,请向其添加multiple
属性。要使javascript在用户更改选择时运行,请向其添加
onchange
属性:
<select name="countrylaw" multiple onChange="showSelectedCountry(this)">
<option value = "1">Afghanistan</option>
<option value = "2">Albania</option>
<option value = "3">Algeria</option>
<option value = "4">Andorra</option>
<option value = "5">Angola</option>
<option value = "6">Antigua & Deps</option>
<option value = "7">Argentina</option>
<option value = "8">Armenia</option>
</select>
阿富汗
阿尔巴尼亚
阿尔及利亚
安道尔
安哥拉
安提瓜和德普
阿根廷
亚美尼亚
然后定义回调函数:
showSelectedCountry = function(select){
for(var i = 0; i < select.selectedOptions.length; i++){
alert(select.selectedOptions[i].innerHTML);
};
}
showSelectedCountry=功能(选择){
对于(变量i=0;i
您可以检查。您应该使用
onchange
事件,如下所示:
var select = document.getElementsByTagName("select")[0];
select.onchange = function(){
if(select.selectedIndex == -1) return null; // if no option is selected
// select.options is the list of selected options
// select.selectedIndex is the index of currently selected option
alert(select.options[select.selectedIndex].text);
}
您只需使用for循环运行一次测试。如果用户更改其选择,它将不会再次执行,因此,您必须使用事件。没有
name=“country”
。请先更改它var select1=document.getElementsByName(“国家”)
tovar select1=document.getElementsByName(“countrylaw”)
“选择了哪些国家。”-一次只能选择一个。实际上,函数showSelectedCountry
比showSelectedCountry=function
更清晰,但它在JSFIDLE上不起作用,所以我更改了它。