2015-12-17 3 views
0

У меня проблема с использованием onClick, при первом нажатии запускается одно действие для второго щелчка проблемы, показывающей мой клик, запускают два действия, а для третьего клика действие запускают три действия и для следующего щелчка. В чем проблема белого моего jquery?двойное действие одним щелчком мыши 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> 

Действие URL

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

Благодаря

+0

К сожалению я изменить свой предмет вопрос. : D –

+0

Речь идет не о двойном щелчке. Это о том, чтобы щелкнуть что-то несколько раз с каждым щелчком = разное действие. Правильно? – Andy

+1

Вы сохраняете привязку нового события каждый раз, когда вы нажимаете ссылку, попробуйте следующее: '$ ('# PopProductDetail'). Off ('показано.bs.modal'). On ('показано.bs.modal'' ... – Pete

ответ

1

В вашем методе showdetailproduct, вы подписываетесь еще один т ime к событию:

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

Эта подписка должна распространяться только на одну. Поместите связующее на document.ready. Событие Onclick не требуется, href делает трюк.

+0

Возможно ли это сделать несколько раз? –

+0

Что вы спрашиваете? –

+0

если не использовать onclick, как прозы GET ID? –

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); 
      } 
     }); 
    }, 


    }); 
    } 
Смежные вопросы