如何为每个复选框添加新输入? - Codeigniter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为每个复选框添加新输入? - Codeigniter相关的知识,希望对你有一定的参考价值。

我的项目中有代码htmlphp(codeigniter):

<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)..等于硬件[]和输入名称/ ID:数量[]

我怎么能为每个人做这个?对不起,我的英语不好

答案
  1. 在复选框上创建一个事件(onchange)。
  2. 如果现在选中了单击的复选框,则启动一个功能。
  3. 此功能必须创建适合您需求的自定义输入: var input = document.createElement("input"); input.setAttribute("class", "foo"); //etc...
  4. 最后将它附加到你想要的地方:yourdiv.appendChild(input) 示例: var checkbox = document.querySelector("input[name=checkbox]"); checkbox.addEventListener( 'change', function() { if(this.checked) { // Checkbox is checked.. } });

以上是关于如何为每个复选框添加新输入? - Codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Yii 中的每个按钮分配动作?

如何为动态添加的新输入行设置 ngModel 角度 4+(mat-table)

如何为javascript数组中的每个对象动态添加属性

如何为每个复选标记保存复选框并增加整数?

如何为SQL Server2008添加登录账户并配置权限

Twitter Bootstrap:如何为收音机和复选框添加标签?