0

我有一个我正在开发的软件,它允许您选择位置并显示在地图上。我想添加功能以使用按钮选择所有位置并在地图上显示信息。

我是编码新手,因此还没有真正编写任何代码。我一直在网上搜索,但无济于事,这就是为什么我来这里问你们这些可爱的人。

您提供的任何建议或链接将不胜感激。

函数 checkAddAllName(mode){

    var Name = document.getElementById('select_'+mode+'_ID').options[document.getElementById('select_'+mode+'_ID').selectedIndex].text;
    var Name = document.getElementById('select_'+mode+'_ID').options[document.getElementById('select_'+mode+'_ID').selectedIndex].value;

    var errorCount = 0;
    var Name = 0;
    var allStations = document.getElementsByTagName('input');

    for (var i=0; i<allNames.length; i++){
        if (allNames[i].id.substring(0,10) == 'StationNo_'){
            var splitID = allNames[i].id.split("_");
                if (splitID[1] == mode){
                    if (allNames[i].value == addedNameNo){
                        errorCount = 1;
                    }
                }
        }
    }

    if (errorCount == 0){
        addNAme(mode);
    } else {
        alert(addedName+' has already been added!');
    }

}

4

2 回答 2

0

假设您的意思是普通的单选下拉菜单,如下所示:

<select id="ddlSelectCountry" onchange="SelectCountry(this);">
    <option value="">Please select..</option>
    <option value="USA">USA</option>
    <option value="France">France</option>
    <option value="Spain">Spain</option>
</select>

您可以使用这样的按钮来自动选择所有非空项目:

<button type="button" onclick="SelectAll('ddlSelectCountry');">Select All</button>​

用于此的 JavaScript 将是:

function SelectAll(strDropDownId) {
    var oDDL = document.getElementById(strDropDownId);
    if (!oDDL) {
        alert("No such element: " + strDropDownId);
        return;
    }
    for (var i = 0; i < oDDL.options.length; i++) {
        if (oDDL.options[i].value.length > 0) {
            oDDL.selectedIndex = i;
            if (oDDL.change)
                oDDL.change();
            else if (oDDL.onchange)
                oDDL.onchange();
        }
    }
}

使用 jQuery 可以大大缩短代码的长度并使其更加优雅,但这是您的选择。

现场测试用例

于 2013-01-03T08:23:32.913 回答
0

最好使用 jQuery 之类的库来执行此操作。一开始你会花一些时间来学习,但它会在你剩下的网络编程日子里得到回报。

假设您的位置是复选框的无序列表,例如:

<ul id='listId'>
   <li><input type="checkbox value="London">London</li>
   <li><input type="checkbox value="Paris">Paris</li>
   <li><input type="checkbox value="Buenos Aires">Buenos Aires</li>
</ul>
<button id="selectAll">Select all</button>

在 jQuery 中,您会执行以下操作:

$('button#selectAll').on("click",function(){
  $('ul#listId > li > input').prop('checked',true);
});
于 2013-01-02T16:01:29.780 回答