POST结果选择不起作用

时间:2014-07-01 02:50:10

标签: javascript php jquery html

我使用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());
 });

3 个答案:

答案 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());
        }
        );
    });
});