JQuery函数不起作用

时间:2013-12-07 16:49:59

标签: php jquery html

您好我点击了保存列中给出的其中一个链接。单击后,应运行脚本标记之间的代码并发出警报('BBBBBBBBBBBBBBBBBBB')。但我无法弄清楚为什么它没有给出预期的结果。请有人帮我纠正这个

<html>
<title></title>
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script></head>
    <script>

$(".QuestionEdit").click(function(){
alert('BBBBBBBBBBBBBBBBBBBB');
var B=$(this).attr('id');

var Data=B.replace("QuestionEdit","");  
alert(Data);

return false;

});

</script>
</head>
<body>


<?php

echo "<form>";


echo "<div id='QuestionDetails' style=' position:relative; top=50px;'>";
$Query="SELECT * FROM Questions WHERE Form_ID='0'";
echo "<table border='1' id='DisplayFormDetailss'>
    <tr style='background-color:#D0A9F5;' height='40px;'>

    <th width='100px;'>Question_ID</th>
    <th width='420px;'>Question Name</th>
    <th width='100px;'>Inactivate</th>
    <th width='70px;'>Edit</th>


    </tr>";
$i=0;

while($i<5){


        echo "<tr height='25px;'>";
        echo "<td><input name='QuestionID[]' id='QuestionID ".$i."' align=center value='8'></input></td>";
        echo "<td><input name='QuestionName[]' style='width:420px;' id='QuestionName".$i."' align=left value='7'></input></td>";
        echo "<td name='QuestionInactive[]' id='QuestionInactive".$i."' align=center><input type='checkbox'></input></td>";
        echo "<td class='QuestionEdit' id='QuestionEdit".$i."' align=center><a href='' align=left>Edit</a></td>";

        echo "</tr>";
        $i++;
}


echo "</table>";
echo "</div>";
echo "<div id='Sub' style='position:relative; top:50px;'>";
 echo "<input  type='submit' value='Save The Table'></input>";
 echo "</div>";
echo "</form>";

?>
</body> 
</html>

3 个答案:

答案 0 :(得分:2)

脚本执行时未加载div.QuestionEdit。在$(document).ready()中包装脚本以在DOM可用时执行。

$(document).ready(function(){
    $(".QuestionEdit").click(function(){
        alert('BBBBBBBBBBBBBBBBBBBB');
        var B=$(this).attr('id');

        var Data=B.replace("QuestionEdit","");  
        alert(Data);

        return false;
    });
});

答案 1 :(得分:1)

解决方案:

$(document).ready(function() {
  $(".QuestionEdit").click(function(){
    alert('BBBBBBBBBBBBBBBBBBBB');
    var B=$(this).attr('id');

    var Data=B.replace("QuestionEdit","");  
    alert(Data);

    return false;

   });
});

答案 2 :(得分:1)

您的脚本在文档加载之前正在运行。

使用文档就绪回调来运行任何需要访问DOM的jQuery代码,以便在加载DOM时运行它。

$( document ).ready(function() {
  // Handler for .ready() called.

});