jquery - 当传递多个参数时 onclick 事件不起作用。为什么?

标签 jquery jquery-events

动态创建的按钮具有 onclick 事件,当我传递单个引用变量 this 时,它工作正常,但当我通过 传递多个参数时,它工作正常onclick 事件,它不起作用。指导我我做错了什么?我尝试了以下代码:

按钮创建脚本

$(document).on('change','.typeOption',function(){
    labelVal=$(this).closest('tr').find('input').val();
    console.log(labelVal);
    if($(this).val() == 'radio' || $(this).val() == 'select'){
        $(this).closest('tr').after("<button type='button' class='btn btn-block createOptionBtn' onclick='createOptions(this,'"+labelVal+"')'><i class='fa fa-plus'></i> Add Option</button>");
    }
});

将值传递给此函数:

function createOptions(e,myval){
    $(e).parent().parent().find('.row').show();
    console.log(myval);
    $(e).parent().parent().find('.row').append('<div class="col-md-4" style="margin-bottom:10px">'+
            '<div class="input-group">'+
              '<input type="text" class="form-control" placeholder="Enter option..." >'+
              '<span class="input-group-addon" onclick="removeOption(this)"><i class="fa fa-trash-o"></i></span>'+
            '</div>'+
      '</div>');
}

最佳答案

引用转义按钮创建问题。

如下所示:-

$(this).closest('tr').after('<button type"button" class="btn btn-block createOptionBtn" onclick="createOptions(this,\'' + labelVal + '\')"><i class="fa fa-plus"></i> Add Option</button>');

演示示例(只是为了表明它有效):-

$(document).ready(function(){
  labelVal='abc';
  $('div').append('<button type"button" class="btn btn-block createOptionBtn" onclick="createOptions(this,\'' + labelVal + '\')"><i class="fa fa-plus"></i> Add Option</button>');
});
function createOptions(e,myval){
    $(e).after('<div class="col-md-4" style="margin-bottom:10px"><div class="input-group"><input type="text" class="form-control" placeholder="Enter option..." ><span class="input-group-addon" onclick="removeOption(this)">remove<i class="fa fa-trash-o"></i></span></div></div>');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>

关于jquery - 当传递多个参数时 onclick 事件不起作用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47049226/

相关文章:

javascript - jQuery 函数没有按我的计划工作,DIV 只是在单击时消失

javascript - onclick 和 jQuery 事件绑定(bind)导致痛苦

javascript - jQuery 事件回调速度 : Anonymous vs. 命名函数

javascript - JQuery:如何刷新事件处理程序

javascript - 如何从对象中删除所有 null 和空字符串值?

javascript - jQuery 问题 :not selector

javascript - jQuery keyup = 而不是 ==

php - 如何将值从动态 html 表插入 MySQL 数据库?

javascript - jquery Tiny Colorpicker 事件更改

javascript - 在另一个窗口上绑定(bind)事件