复选框类在html和jquery中增加

时间:2019-07-07 11:36:21

标签: javascript jquery html

我需要一个复选框的帮助。我已经基于JSON数据动态生成了复选框,该复选框是由jquery生成的。我需要动态生成复选框类名称。这是我的代码,生成了一个复选框

<td>
  <label class="switch">
    <input
      id="chkEnabled"
      checked
      type="checkbox"
      onchange="checkedorUncheked(' + result.data.resultSet[i].id + ',' + count + ')" class="chkEnabled"' + count +' >
    <span class="slider round"></span>
  </label >
</td>

这里class =“ chkEnabled”'+ count +'我正在增加类值,但是当我调用checkedUncheked方法时,我得到了计数值,但没有得到类值。在这里,我进行控制台

` this.checkedorUncheked = function (item, item2) {
    //console.log('.chkEnabled' + item2);
    $('.chkEnabled' + item2).change(function () {
        console.log(item2);`

由于类名,我无法在change事件内部进行控制台。你能帮我吗 。预先感谢

1 个答案:

答案 0 :(得分:1)

动态生成HTML元素时,您需要重新绑定所生成元素的事件

尝试

this.checkedorUncheked = function (item, item2) {
//console.log('.chkEnabled' + item2);
$('.chkEnabled' + item2).on('change',function () {  
    console.log(item2);

使用on()方法而不是直接使用.change(),但是在建议的注释中不要生成类,而是生成ID并使用它。

然后代码变为

 $('#chkEnabled' + item2).on('change',function () {  
    console.log(item2);

更新

  <input
  id=' + result.data.resultSet[i].id + '
  checked
  type="checkbox"
  onchange="checkedorUncheked(this);" count=' + count +' >
<span class="slider round"></span>


function checkedorUncheked (e){
   var itme1 = $(e).attr('id'); /// for id
   var item2 = $(e).attr('count'); // count 


    if($(e).prop('checked') == true){
    //do something
    }
 else{
   /// do another
  }
}