2010-12-05 65 views
0

复选框值尝试后一个问题对接受的答案#786142 如果编辑该溶液中textarea标签更改为任何其他块级元素(具有相同id属性),它不再作品。在我的情况下,我试图删除当用户改变主意并取消选中相同复选框时由Ajax调用返回的一个php gd旋转图像(单击复选框)。我意识到val()不是追加html数据的函数,但我需要找出如何使这个函数与ul列表一起工作;那么我会研究如何处理图像本身。欣赏任何你可能拥有的答案。如何检索jQuery中

这里的一个工程。 (见例子)

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函数映射为使用类的通用类,并使用实时函数来监视DOM以进行这些更改。对不起,我现在不是真的想写这个例子。

+0

@user,你可以使用类名对吗? – kobe 2010-12-05 16:18:34

回答

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传递给函数。 希望有所帮助。