我正在尝试将Java脚本中的以下代码添加到循环中。
$('#items').find('input').prop('disabled', this.checked);
我想将“ items”变量更改为“#items1”,“#items2”,“#items3”等循环。
此代码已在我的代码的这一部分工作
var checkList = document.getElementById('list1');
添加到循环中以获取“ list1”,“ list2”,“ list3”
var checkList = document.getElementById('list'+list[i].value);
但不适用于先前代码中的“项目”,可能是因为前面有一个#。请帮我。
答案 0 :(得分:1)
尝试一下:
var checkList = document.getElementById('list' + (i + 1));
或者为了获得最佳使用效果,请尝试使用类而不是id
,并为所有项目提供类名称,例如:itemClass
,然后可以获得所有项目:
var checkLists = document.getElementsByClassName('itemClass');
答案 1 :(得分:0)
问题出在您使用以下代码后:
$('#items').find('input')
您不仅获得了一个DOM元素。因此,您需要在找到所有内容后使用jQuery.each “输入”元素,然后执行您想要的操作。
答案 2 :(得分:0)
谢谢你们,我自己解决了这个问题。我首先将变量值添加到另一个变量中,然后将其放入函数中。
var itemId = list[i].value;
我将其放在函数中。
$(function() {
$(document).on('change', '#IsAssociation', function() {
$('#items'+itemId).find('input').prop('disabled', !this.checked);
$('#items'+itemId).find('li').toggleClass('disabled', !this.checked);
});