变量获取";“未定义”;在JQUERY函数中
我是webdevelopment和atm的新手,我正在尝试构建一个函数来处理我页面上的所有不同按钮(通过post调用php代码)。 没有开关/case(或if/else)它可以正常工作,但一旦我尝试动态地“加载”Post-action的参数,它就不能正常工作了。当我第二次按下按钮时,它实际上起作用了,这对我来说很奇怪:-)。问题是按钮id突然显示为“未定义” 你能给我一点建议吗变量获取";“未定义”;在JQUERY函数中,jquery,Jquery,我是webdevelopment和atm的新手,我正在尝试构建一个函数来处理我页面上的所有不同按钮(通过post调用php代码)。 没有开关/case(或if/else)它可以正常工作,但一旦我尝试动态地“加载”Post-action的参数,它就不能正常工作了。当我第二次按下按钮时,它实际上起作用了,这对我来说很奇怪:-)。问题是按钮id突然显示为“未定义” 你能给我一点建议吗 $(document).ready(function() { $(".btn").click(function()
$(document).ready(function() {
$(".btn").click(function()
{
button_id = $(this).attr("id");
switch ($(this).attr("id"))
{
case "ZXY" :
php_func_name = "ABC"
php_id = "DEF"
break;
case "XYZ" :
php_func_name = "HIJ"
php_id = "KLM"
break;
}
$('#' + button_id).click(function() {
$.post("php_functions.php", {
method: php_func_name,
id: php_id
}, function(data) {
$("#test").html(data);
alert (data);
});
});
});
});
问题是您正在更改
按钮的功能。请单击。由于您不知道您的HTML代码,我会将php\u func\u name
和php\u id
数据存储到按钮中的data-
属性中:
<button id="ZXY" class="btn" data-funcname="ABC" data-id="DEF"></button>
<button id="XYZ" class="btn" data-funcname="HIJ" data-id="KLM"></button>
您从哪里获得按钮id的“未定义”值?顺便说一下,考虑改变这一行:<代码> ButoOnid ID= $(this).Atter(“ID”);tovar按钮_id=$(this.attr(“id”)代码>。如果没有var,它会将button_id添加到全局窗口
对象,因此您实际上是在设置窗口。button_id
。这通常不是你想要的,可能会导致错误。考虑添加另一行之后,定义这些VARS也:<代码> var PHPFROM名称,PHPID;<代码>。因此,这些变量也保持局部性,不会添加到窗口中。
$(document).ready(function() {
$('.btn').click(function() {
$.post("php_functions.php", {
method: $(this).data('funcname'),
id: $(this).data('id')
}, function(data) {
$("#test").html(data);
alert (data);
});
});
}