我在使用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
由于
答案 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);
}
});
},
});
}