我使用javascript将数组发布到PHP文件,结果放入div。 php的结果是一组单选按钮,但是当我尝试使用javascript来选择它们时,它不起作用。 注意:post函数完全正常。
Javascript Post(第一个文件)
$.post('newUserTeams.php', { 'teams[]': teams },
function(result) {
$('#tab3').html(result);
});
PHP echo(第二个文件)
echo("<label class='radio'>");
echo("<input type='radio' name='team".$teams[$i]."' id='hi'>");
echo("<i></i>Full Privilege User</label>");
echo("<label class='radio'>");
echo("<input type='radio' name='team".$teams[$i]."'>");
echo("<i></i>Limited Access User</label>");
Javascript选择单选按钮(第一个文件)
$("#hi").change(function(){
alert($(this).val());
});
答案 0 :(得分:0)
这是因为当元素尚未就绪时,您正在将“change”事件处理程序连接到元素“#hi”。为此,您使用“on”方法绑定事件处理程序。
因此,在您的第一个文件中,将代码编辑为:
$(document).on('change', '#hi', function () {
alert($(this).val());
});
答案 1 :(得分:0)
因为在你从php中获取'HTML'后,你应该在post回调中添加更改事件。
所以你的帖子功能应改为:
$.post('newUserTeams.php', { 'teams[]': teams },
function(result) {
$('#tab3').html(result);
$("#hi").on('change', function(){
alert($(this).val());
});
});
答案 2 :(得分:0)
我不知道你在哪里调用这个函数,但可能是因为当页面文件准备好执行时它没有完成。您需要做的是在创建方法后添加方法更改:
$( document ).ready(function() {
$.ajax({
url: "objects.php",
}).done(function( data ) {
$('#tab3').html(data);
$('#hi').on('change', function()
{
alert($(this).val());
}
);
});
});