如何在jQuery中检索复选框值

时间:2010-12-05 16:13:00

标签: jquery checkbox

尝试将已接受答案的问题发布到#786142 如果编辑此解决方案并将textarea标记更改为任何其他块级元素(具有相同的id属性),则它将不再起作用。在我的情况下,我试图删除用户改变主意并取消选中相同复选框时由Ajax调用返回的php gd旋转图像(单击复选框)。我意识到val()不是附加html数据的函数,但我需要找出如何使这个函数与ul列表一起工作;那么我将研究如何处理图像本身。感谢你们可能有的任何答案。

这是一个有效的。 (见例)

function updateTextArea() {         
    var allVals = [];
    $('#c_b :checked').each(function() {
      allVals.push($(this).val());
    });
    $('#t').val(allVals)
 }
$(function() {
  $('#c_b input').click(updateTextArea);
  updateTextArea();
});

几个月后,如果ID发生变化,还会询问如何保持上述工作的另一个问题。好吧,解决方案归结为将updateTextArea函数映射到使用类的通用函数,并使用live函数监视DOM以获取这些更改。对不起,我现在还不是在写这个例子。

1 个答案:

答案 0 :(得分:0)

我希望我明白你的问题 所以如果你有这样的ul列表:

<ul id="test_ul"><li></li></ul>

并且你想更新它,而不是textarea元素,而不是像你这样修改你的代码:

function updateUlLi(ul_id) {
    var allVals = [];
    $('input:checkbox:checked').each(function() {
        allVals.push($(this).val());
    });
    $('#'+ul_id).html('<li>'+allVals+'</li>');
}

$(function() {
    updateUlLi('test_ul');
    $('#c_b input').click(function(){
        updateUlLi('test_ul');
    });
});

它会收集您网站上所有已选中的复选框(!),而不仅仅是“id-given”元素中的复选框。 另一个修改:你将ul的id传递给函数。 希望有所帮助。