我的项目(codeigniter)中有以下HTML和PHP代码:
<div class="row">
<div class="col-md-8">
<?php foreach($hardware as $hardware): ?>
<input type="checkbox" id="<?=$hardware['id_elemento']?>" name="hardware[]" value="<? =$hardware['id_elemento']?>">
<label class="mx-2" for="<?=$hardware['id_elemento']?>"><?=$hardware['elemento']?> </label>
<?php endforeach; ?>
</div>
<div class="col-md-6">
<input type="number" placeholder="Cantidad" id="mname" name="mname" class="form-control col-2" />
<hr>
</div>
</div>
var checkbox = document.getElementById('29');
var input = document.getElementById('mname');
checkbox.addEventListener('click', function () {
if (input.style.display != 'block') {
input.style.display = 'block';
} else {
input.style.display = '';
}
});
我想做的是为每个复选框添加一个新输入。每个新输入类型号是我要在列表中检查的每种硬件的数量,但是使用此代码,我只输入一个。 。每个复选框都有一个不同的ID(分别为29、30、31、32)..等于hardware [],并且输入的名称/ id为:quantity []
我该如何为每个人做到这一点?对不起,我的英语不好
答案 0 :(得分:0)
在复选框上创建事件(不变)。
如果现在选中了单击的复选框,请启动功能。
此功能必须创建适合您需求的自定义输入:
var input = document.createElement("input");
input.setAttribute("class", "foo"); //etc...
最后将其附加到您想要的位置:yourdiv.appendChild(input)
示例:
var checkbox = document.querySelector("input[name=checkbox]");
checkbox.addEventListener( 'change', function() {
if(this.checked) {
// Checkbox is checked..
}
});