我是webdevelopment和atm的新手,我试图构建一个处理页面上所有不同按钮的函数(通过邮递方式调用php代码)。 它在没有切换/大小写(或if / else)的情况下可以正常工作,但是一旦我尝试动态“加载”用于Post操作的参数,它就无法正常工作。它实际上有效,当我第二次按下按钮时,这对我来说很奇怪:-)。问题是button_id突然显示为“ undefined” 你能给我一些建议吗?
$(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);
});
});
});
});
答案 0 :(得分:1)
问题是您正在更改button.click
的功能。如您所不知道的HTML代码一样,我会将php_func_name
和php_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>
$(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);
});
});
}