单击jquery中的双重操作

时间:2015-12-17 08:46:57

标签: javascript jquery

我在使用onClick时遇到问题,在第一次单击时运行一个操作,第二次单击问题显示我的点击运行两个操作,第三次单击操作运行三个操作和下一次单击。什么问题白了我的jquery?

我的按钮单击

<a id="detailproduct" href="'.URL.'#PopProductDetail" onclick="showdetailproduct('.$val->bid.')" data-toggle="modal">'.$val->product name.'</a>

这个代码

<script type="text/javascript">
    function showdetailproduct(id){
    $('#PopProductDetail').on('shown.bs.modal',function(e) {
        utils.ViewPopProduct(id);
    });
    }

var utils = {};
    (function ($) {

          $.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {
              alert(textStatus);
              alert(errorThrown);
              alert(XMLHttpRequest.responseText);

          }});

        utils.ViewPopProduct =  function ViewPopProduct(id) {
            var data={id:id};
            $.ajax({
                type:"GET",
                datatype:"json",
                url:"",
                data:data,
                datatype:"html",
                cache:false,
                success: function(data) {
                        data = JSON.parse( data ); 
                        $('#code').val(data.code);
                        $('#name').val(data.name);
                        $('#groupname').val(data.groupname);
                        $('#brand').val(data.brand);

                        $('#PopProductDetail').trigger("reset");
                        $("#detailproduct").unbind("click", ViewPopProduct);
                }
            });
        return false;
    };

    })(jQuery, window, document);

</script>

行动网址

http://example.com/product?id=34&_=1450341040382

由于

2 个答案:

答案 0 :(得分:1)

在showdetailproduct方法中,您再次订阅该活动:

$('#PopProductDetail').on('shown.bs.modal',function(e) {

此订阅只能发生一次。将活页夹放在document.ready上。没有必要使用Onclick事件,href就是这样做的。

答案 1 :(得分:0)

这是我的代码,如果它对您有帮助。

我可以一键处理2个功能

Html代码

 <input type="button" id="btnSave2" value="INSERT-UPDATE" title="Save" 
                onclick="return btnSave2_onclick()" />

 function btnSave2_onclick() 
 {

      var txtcategorycodeid = $("#txtcategorycodeid").val();
      var txtcategoryname = $("#txtcategoryname").val();
      var fuimg = $("#fuimg").val();
      var ddstatus = $("#ddstatus").val();
      var fuimgst;
      if (fuimg != '' ) {
          fuimgst = 'active';
      }
      if (fuimg == '') {
          fuimgst = 'inactive';
      }


      if (txtcategorycodeid == '' && txtcategoryname == ''
            && ddstatus == '---Select---') {

          alert("Enter All Fields");
          return false;

      }
      else {

          if (txtcategorycodeid == '') {
              alert("Enter categorycodeid");

              return false;
          }
          if (txtcategoryname == '') {

              alert("Req  categoryname");

              return false;
          }
          if (!txtcategoryname.match(/^[a-zA-Z]+$/)) {
              alert('categoryname Only alphabets are allowed');
              return false;
          }


          if (ddstatus == '---Select---') {
              alert("Enter status");

              return false;
          }
      }


      var fileUpload = $("#fuimg").get(0);
      var files = fileUpload.files;
      var test = new FormData();
      for (var i = 0; i < files.length; i++) {
          test.append(files[i].name, files[i]);
      }
      $.ajax({
          url: "imguploadhandler.ashx",
          type: "POST",
          contentType: false,
          processData: false,
          data: test,
          // dataType: "json",
          success: function (result) {




      $.ajax({
          type: "POST",
          url: "JKS_Service.asmx/productcategor1",
          data: "{categoryCodeId: '" + txtcategorycodeid + "'       ,categoryName:'" + txtcategoryname + "',status:'" + ddstatus + "',fupic:'"+fuimgst+"'}",
          contentType: "application/json; charset=utf-8",
          datatype: "jsondata",
          async: "true",
          success: function (response) {
              $(".errMsg ul").remove();
              var myObject = eval('(' + response.d + ')');
              if (myObject > 0) {

                  alert("Data saved successfully...");

              }
              else {

                  alert("Not saved..");
              }

              clear();

          },
          error: function (response) {
              alert(response.status + ' ' + response.statusText);
          }
      });
  },


  });
  }