尝试将已接受答案的问题发布到#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以获取这些更改。对不起,我现在还不是在写这个例子。
答案 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传递给函数。 希望有所帮助。