0

我有这个问题我有检查父母和孩子的代码。但问题是我不知道最终如何检索该值..这里的复选框列表包括父母和孩子

<ul id="jobCat">
        <li>
            <input id="s9" class="parent" type="checkbox" name="jobCat" value="Accounting / Finance"
            />Accounting / Finance</li>
        <li>
            <input id="s15" class="parent-s9" type="checkbox" name="jobCat" value="Banking / Financial"
            /><span>Banking / Financial</span>
        </li>
        <li>
            <input id="s16" class="parent-s9" type="checkbox" name="jobCat" value="General / Cost Acct"
            /><span>General / Cost Acct</span>
        </li> </ul>

这里是jquery

 var checkboxHandlerObj = {

    init: function () {
        $('#jobCat input:checkbox[class="parent"]').click(checkboxHandlerObj.parentClicked);
        $('#jobCat input:checkbox[class^="parent-"]').click(checkboxHandlerObj.childClicked);
    },
    parentClicked: function () {
        var parentCheck = this.checked;
        $('#jobCat input:checkbox[class="parent-' + $(this).attr('id') + '"]').each(function () {
            this.checked = parentCheck;
        });
    },
    childClicked: function () {
        var temp = $(this).attr('class').split('-');
        var parentId = temp[1];
        $('#' + parentId)[0].checked = $('#jobCat input:checkbox[class="' + $(this).attr('class') + '"]:checked').length !== 0;
    }
};

checkboxHandlerObj.init();

在这里..我点击会计/财务复选框后,它选择了所有。但这最终并没有显示出价值,所以我想要的是我想最后显示所有这些(父母和孩子)。我很困惑如何为此编码..请任何人帮助我..

4

1 回答 1

0

请看看小提琴。这可能会给你一些想法如何做到这一点..

http://jsfiddle.net/Gy9Jq/

您需要更改以下功能:

 parentClicked: function () {
        var parentCheck = this.checked;
        var values='i';
        $('#jobCat input:checkbox[class="parent-' + $(this).attr('id') + '"]').each(function () {
            this.checked = parentCheck;
            values+=this.attr('value');
        });
        alert('hi');
    },

在这里检查更新的小提琴。我认为这就是你想要的:

http://jsfiddle.net/Gy9Jq/6/

于 2013-03-22T04:50:01.290 回答