我有一个非常简单的问题,但我无法弄清楚, 对此我是新手。
我有以下功能,用户将点击他/她想要搜索的内容的按钮,然后当他/她选择并点击选项周围的内容时,他/她将点击搜索按钮进行搜索。
这是我从锚标记中获取值的代码,选项包含在锚标记中。
$(document).on('click' , '#area_id_1' , function(){
var getText1 = $("#area_id_1").text();
alert(getText1); return false; });
$(document).on('click' , '#area_id_2' , function(){
var getText1 = $("#area_id_2").text();
alert(getText1);
return false;
});
$(document).on('click' , '#area_id_3' , function(){
var getText1 = $("#area_id_3").text();
alert(getText1); return false;});
$(document).on('click' , '#area_id_4' , function(){
var getText1 = $("#area_id_4").text();
alert(getText1);
return false;
});
$(document).on('click' , '#area_id_5' , function(){
var getText1 = $("#area_id_5").text();
alert(getText1); return false;});
$(document).on('click' , '#area_id_6' , function(){
var getText1 = $("#area_id_6").text();
alert(getText1); return false; });
$(document).on('click' , '#area_id_7' , function(){
var getText1 = $("#area_id_7").text();
alert(getText1); return false; });
$(document).on('click' , '#area_id_8' , function(){
var getText1 = $("#area_id_8").text();
alert(getText1); return false; });
这是我的搜索按钮功能 //搜索功能按钮
$(document).on('click', '#btnSearch', function() {
}
问题是,我如何能够存储我从锚标签获得的值,以便在单击btnSearch函数时可以使用它?
答案 0 :(得分:0)
首先定义你的变量getText1 global ,如下所示。
var getText1;
$(document).on('click' , '#area_id_1' , function(){
getText1 = $(this).text();
return false;
});
...(rest of your code)
// and you will get the variable in below function
$(document).on('click', '#btnSearch', function() {
alert(getText1); // you can check here if it is empty or not
}
答案 1 :(得分:0)
您需要使用全局变量或窗口变量..请参阅此 Click ..我会提一些例子
<script>
var yourGlobalVariable; // this is global variable
function foo() {
// ...
}
</script>
<script>
function foo() {
window.yourGlobalVariable = ...; // this is window variable you can use
}
</script>
答案 2 :(得分:0)
首先,我不建议使用全局变量。 Global variable is bad practice
如果您不想使用全局变量。 您可以在btnSearch元素上设置值。 使用jQuery.fn.data函数,可以将值存储到具有特定键字符串的元素。 https://api.jquery.com/data/
您可以使用多个选择器。将相同的事件处理函数附加到多个元素一次。 https://api.jquery.com/multiple-selector/
// You can use same handler function on multiple element once.
// You don't have to declare same function each time.
$('#area_id_1, #area_id_2, #area_id_3, #area_id_4' +
', #area_id_5, #area_id_6, #area_id_7, #area_id_8').on('click', function() {
var text = $(this).text();
// Set value at $('#btnSearch') with "text" key
$('#btnSearch').data("text", text);
alert(text);
return false;
});
$(document).on('click', '#btnSearch', function() {
var text = $(this).data("text"); // You can get the value like this
}