我想将一个变量从一次点击传递到另一个点击功能。
不确定是否可行。我之前做过一些研究,但找不到合适的解决方案。
$('.clickme').click(function () {
var whichid = $(this).attr("id");
alert(whichid);
});
$('#button').click(function () {
//get the clicked id value from previous click function
});
这是我的小提琴
答案 0 :(得分:2)
您仍然可以在周围$().ready()
电话的范围内,所以您可以毫无问题地执行此操作:
var whichid = 0;
$('.clickme').click(function () {
whichid = $(this).attr("id");
});
$('#button').click(function () {
alert(whichid);
});
答案 1 :(得分:2)
您可以使用.data()
来存储点击的元素
$('.clickme').click (function() {
var whichid = $(this).attr("id");
$('#button').data('whichid', whichid);
alert(whichid);
});
$('#button').click (function() {
alert( $('#button').data('whichid'));
});
答案 2 :(得分:1)
最简单的方法是使用全局变量:
$('.clickme').click(function () {
var whichid = $(this).attr("id");
window["whichid"] = whichid;
alert(whichid);
});
$('#button').click(function () {
alert(window["whichid"] || "not clicked yet");
});
答案 3 :(得分:0)
您可以定义全局变量,并将值设置为此变量。 例如,你可以这样做:
var globalVar = null;
$('.clickme').click(function () {
var whichid = $(this).attr("id");
globalVar = whichid
console.log(whichid); // console.log() is more better than alert to debug
});
$('#button').click(function () {
//get the clicked id value from previous click function
console.log(globalVar);
});
答案 4 :(得分:0)
或者,您可以添加隐藏输入字段来存储最近点击过的ID的值:
作为
HTML:
<input type="hidden" name="last_clicked_id" id="last_clicked_id">
现在将最后点击的ID保存到隐藏元素
中JS:
$('.clickme').click(function () {
var whichid = $(this).attr("id");
alert(whichid);
$('#last_clicked_id').val(whichid);
});
$('#button').click(function () {
//get the clicked id value from previous click function
var last_clicked = $('#last_clicked_id').val();
alert('last_clicked = '+last_clicked);
});