Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用java脚本显示multiselect的警报_Javascript - Fatal编程技术网

Javascript 使用java脚本显示multiselect的警报

Javascript 使用java脚本显示multiselect的警报,javascript,Javascript,我有下面的Html代码。这是一份国家名单。我想显示的是,在选择单个或多个国家时,它会提示选择了哪些国家。我在JavaScript中使用以下代码。我不想使用Jquery、PHP或其他任何东西 <select name= "countrylaw"> <option value = "1">Afghanistan</option> <option value = "2">Albania</option>

我有下面的Html代码。这是一份国家名单。我想显示的是,在选择单个或多个国家时,它会提示选择了哪些国家。我在JavaScript中使用以下代码。我不想使用Jquery、PHP或其他任何东西

 <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(“国家”)
to
var select1=document.getElementsByName(“countrylaw”)
“选择了哪些国家。”-一次只能选择一个。实际上,
函数showSelectedCountry
showSelectedCountry=function
更清晰,但它在JSFIDLE上不起作用,所以我更改了它。