0

我有一个美国主要城市的复选框网格。我创建了一个下拉菜单来选择一个状态。当用户单击提交按钮时,我想选择该特定状态的所有复选框。我已经为每次检查使用了一个动态 id,我想我可以用 title 属性来识别它们。

有没有办法使用常规 javascript 而不是 jquery 选择所有“纽约州”。

任何帮助将不胜感激。

新杰克

编辑

我是按照这些思路思考的

function SelectState(StateAbbr)
{
     var f = document.frmChangeMemberPaid;
     checkboxes = document.getElementsByName('LocalPageID');
     for(var i in checkboxes)
     {
          if(checkboxes[i].attributes[1].name == StateAbbr)
          {
               checkboxes[i].checked = source.checked;
          }
     }
}
4

2 回答 2

1

我认为您应该使用函数getElementsByTagName来获取所有输入,过滤掉所有复选框,然后仅检查符合您条件的那些:

var inputs = document.getElementsByTagName("input");

for (var i=0, count = inputs.length; i < count; i++) {
    var node = inputs.item(i);
    if (node.type === "checkbox") {
        if (node.title === "New York State") {
            node.checked = true;
        } else {
            // uncheck other checkboxes in case they are already checked
            node.checked = false;
    }
}
于 2012-08-15T13:00:46.460 回答
0

使用类来标记输入:

<table id="cities" border="1">
    <tr>
        <td>
            Miami, FL
            <input type="checkbox" value="Miami" class="FL" />
        </td>
        <td>
            New York City, NY
            <input type="checkbox" value="New York City" class="NY" />
        </td>
    </tr>
    <tr>
        <td>
            Tampa, FL
            <input type="checkbox" value="Tampa" class="FL" />
        </td>
        <td>
            Buffalo, NY
            <input type="checkbox" value="Buffalo" class="NY" />
        </td>
    </tr>
</table>

<select id="states">
     <option value="FL">FL</option>
    <option value="NY">NY</option>
</select>

<script type="text/javascript">
    var cities = document.getElementById('cities'),
    states = document.getElementById('states');

    function checkCitiesOf(state) {
        inputs = cities.getElementsByTagName('input');
        for(var i = 0, l = inputs.length; i < l; i++) {
            inputs[i].checked = inputs[i].className == state;       
        }
    }

    states.onchange = function() {
        checkCitiesOf(this.value);
    };
</script>

​ ​</p>

小提琴​</p>

于 2012-08-15T13:06:07.213 回答