onClick未调用按钮(html)

时间:2018-07-17 10:54:02

标签: javascript jquery html

我的htmlfragmentRow如下,其中有一个<a>和一个

<a href="onLoadShowRoutesView?routeIdnpk=${param.routeIdnpk}">
  <div class="col-md-4 pull-right">
    <input type="button" class="btn btn-small btn-default btn-flat pull-right" value="${param.publishOrUnPublishValue}"
        name="${param.publishOrUnPublishName}"
        id="${param.publishOrUnPublishName}"
        onclick="${param.publishOrUnPublishOnClick}"
        data-val="${param.routeIdnpk}" style="margin-top: 6px;">
  </div>                        
</a>

我这样包含fragmentRow.jsp

<jsp:include page="fragmentListRouteItem.jsp">
  <jsp:param name="routeIdnpk"
    value="${childRouteViewPojo.routeIdnpk}" />
  <jsp:param name="publishOrUnPublishValue" value="Publish" />
  <jsp:param name="publishOrUnPublishName" value="Publish" />
  <jsp:param name="publishOrUnPublishOnClick" value="onPublish" />
</jsp:include>

我有一个名为ajax的按钮onclick

$('#unPublish').click(
  function() {
    var routeIdnpk = $(this).prev().val();
    $.ajax({
      type : "Get",
      url : "unpublishRoute",
      data : {
        routeIdnpk : routeIdnpk 
      },
      success : function(response) {
        response = successAction(response);
      },
      error : function(e) {
        ajaxGlobalErrorResponseWithTitleAndMessage("Unable to Unpublish",
      "The unpublish operation failed, please try again");
      }
    });
  });

当我单击按钮时,将呼叫onLoadShowRoutesView而不是 $('#unPublish')。单击(

我也尝试过$('#unPublish').click(onClick="unPublish", function unPublish()href of <a>仍然被调用。有没有一种方法可以覆盖主div <a href>并在单击时调用按钮的调用方?

我已经阅读了this和其他链接。但是找不到解决此问题的方法。

现在我知道我在这里缺少一些非常基本的东西。

编辑1 :我已经尝试过

<div onclick="location.href='onLoadShowRoutesView?routeIdnpk=${param.routeIdnpk}';">

即使单击按钮,仍然会调用onLoadShowRoutesView

编辑2 @ zakaria-acharki:我还添加了

function onUnPublish () {
    var routeIdnpk = $(this).prev().val();

            $.ajax({
        }) ;
}

function publish () {
    var routeIdnpk = $(this).prev().val();
    $.ajax({
        }) ;
}

结果相同

2 个答案:

答案 0 :(得分:1)

在@ zakaria-acharki的帮助下,对我有用的是以下内容。某些错字和与父级div的“ ondblclick”

1

$('#unPublish').click(
        function() {
            var routeIdnpk = $(this).val();
            $.ajax({

        });
$('#Publish').click(
        function() {
            var routeIdnpk = $(this).val();
            $.ajax({

        });

2

<button type="button"
        class="btn btn-small btn-default btn-flat pull-right"
        value="${param.routeIdnpk}"
        name="${param.publishOrUnPublishName}"
        id="${param.publishOrUnPublishName}" style="margin-top: 6px;">${param.publishOrUnPublishValue}</button>

3

<div
    ondblclick="location.href='onLoadShowRoutesView?routeIdnpk=${param.routeIdnpk}';">

编辑

  

$('#unPublish')。click(   仅适用于第一个按钮

     

$('button [name =“ unPublish”]')。click(function(){   这适用于所有按钮

今天:我了解了button[name="something"]

的价值

答案 1 :(得分:0)

尝试像这样修改代码

<a href="javascript:void(0);" onclick="yourFunction()"></a>

您可以在元素上添加onclick函数,也可以动态添加该函数