无法理解来自onclick方法的字符串转义

时间:2017-08-30 07:26:59

标签: javascript jquery html string onclick

我有一个定义如下的方法:

function updateManagerPreferences(companyId, managerId, userId) {
  console.log('inside method');
  $.ajax({
    type: 'GET',
    url: admin_url + "/updatemanager/" + companyId + "/" 
    + managerId + "/" + userId,
    encode: false,
    crossDomain: true
  }).done(function (tresult) {
    var success_result = jQuery.parseJSON(JSON.stringify(tresult));
    console.log(success_result);
  });
}

从onclick按钮获取3个参数,我试图按如下方式调用该方法:

<input type='button' class='btn btn-sm btn-success' value='Update' onclick='updateManagerPreferences(" + companyId + "," + $('#managerDropDown').val() + "," + result.ResponseMessage.users[i].user_id + ");'/>

我提到了所有类似的stackoverflow答案,但没有一个有帮助。

有人可以告诉我哪里出错吗?

1 个答案:

答案 0 :(得分:0)

您可以通过jQuery直接从函数和元素值中获取值来解决。

<input type='button' class='btn btn-sm btn-success' value='Update' id='updatemanager' />

<script>
$("#updatemanager").on("click",function(){
  var managerId = $('#managerDropDown').val();
  var userId = result.ResponseMessage.users[i].user_id;
  $.ajax({
    type: 'GET',
    url: admin_url + "/updatemanager/" + companyId + "/" 
    + managerId + "/" + userId,
    encode: false,
    crossDomain: true
  }).done(function (tresult) {
    var success_result = jQuery.parseJSON(JSON.stringify(tresult));
    console.log(success_result);
  });
});
</script>