我想从按钮单击事件上的 div 获取值,并在另一个按钮单击事件中获取这些值。但无法在其他单击事件中获取这些值。 这是我的 div 的代码:
'<div class="dvDynamic_' + pid + '"><span class="count_' + pid + '">' + count + '</span><span id="pname" style = "margin-left:70px;">' + pname + '</span><span id="punitprice" style = "margin-left:150px;">' + uprice + '</span></div>'
第一个按钮点击事件代码:
$(document).ready(function () {
var ids = [];
$("#btnproceed").click(function () {
debugger;
// $("div[class^='apple-']")
$("div[class^='dvDynamic_']").each(function () {
debugger;
var pids = $(this).text();
ids.push(pids);
});
ids = [];
});
第二个按钮点击的代码:
$('#btnsubmit').click(function () {
debugger;
var form = [{
"name": "customerinfo",
"value": JSON.stringify($('#customerform'))
}];
var data = JSON.stringify({
'products': ids,
'customerinfo': form
});
$.ajax({
type: "POST",
url: "@Url.Action("
GetIds ", "
Store ")",
data: data,
contentType: "application/json; charset=utf-8",
success: function (r) {
alert(r.d);
}
});
});
最佳答案
现在,您可以在每次执行 $("#btnproceed").click
处理程序时清除数组 ids
$("#btnproceed").click(function () {
debugger;
// $("div[class^='apple-']")
$("div[class^='dvDynamic_']").each(function () {
debugger;
var pids = $(this).text();
ids.push(pids);
});
ids = []; // here you clear all ids added in previous each loop
});
只需删除此行ids = [];
或将其移动到方法开始
$("#btnproceed").click(function () {
ids = []; // here you clear all ids added in previous handler
debugger;
// $("div[class^='apple-']")
$("div[class^='dvDynamic_']").each(function () {
debugger;
var pids = $(this).text();
ids.push(pids);
});
//before method exit - ids array contain data added in previous loop
});
关于javascript - 如何从一个按钮单击事件获取另一个按钮单击事件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178021/