Jquery AJAX问题努力但没有运气

时间:2012-08-30 20:27:28

标签: jquery ajax

<table class="table table-striped">  
            <thead>  
            <tr>  
                <th>Select</th>  
                <th>From</th>  
                <th>Subject</th>  
                <th>Date</th>  
            </tr>
            </thead>
            <tbody>  
        <?php
            //show records
            while ($row = mysql_fetch_array($usrmsg)) {

            $frm_user = $row['from_uid'];
            // Get details from users_profiles table.
            $usrname = mysql_query("select * from `users_profiles` where `id`=$frm_user");
            $usrname = mysql_fetch_array($usrname);
        ?>
            <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td><?php echo $usrname['firstname'] . " " . $usrname['lastname'];?> </td>  
                <td><!-- <a href="<?php echo $row['id']; ?>" id="getmsg"><?php echo substr($row['subject'],0,40); ?>...</a> -->
                 <input class="data" type="text" value="<?php echo $row['id']; ?>" id="<?php print $row['id']; ?>" />
                 <input type="button" href="#get-content" class="clickme" value="<?php echo substr($row['subject'],0,40); ?>.." id="<?php print $row['id']; ?>"/>
                </td>  
                <td><?php echo $row['date']; ?></td>  
            </tr> 
        <?php
            }   
        ?>
        </tbody>  
       </table>  
       <div id="content">
            The table will be placed here
        </div>

我正在从表中的DB加载记录。现在,当用户点击主题行时,我的JQUERY AJAX应该在DIV内容中显示消息。这是正确发生但仅适用于第一个记录。当我点击第二条记录时,它仍然显示我想要的第一条记录,当用户点击记录时,相应的信息应该显示,而不是总是先显示。

实际上我的JQUERY AJAX总是将第一个记录ID传递给message.php,在我的情况下是10。

这是jquery。

<script type="text/javascript" >
    $(document).ready(function(){
        $(".clickme").click(function() {
            $("#content").html('Retrieving...');
            $.ajax({
                type: "GET",
                data: "data=" + $(".data").val(),
                url: "message.php",
                dataType: 'json', 
                success: function(data){
                var msg = data[0];              //get id
                $("#content").html(msg);
                }
            });
        });
    });
</script>

如果有人可以帮助我那会很棒...

提前感谢你..

以下是计划HTML

<table class="table table-striped">  
            <thead>  
            <tr>  
                <th>Select</th>  
                <th>From</th>  
                <th>Subject</th>  
                <th>Date</th>  
            </tr>
            </thead>
            <tbody>  
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="10" id="getmsg">This is proposal for you.....</a> -->
                 <input class="data" type="text" value="10" id="10" />
                 <input type="button" href="#get-content" class="clickme" value="This is proposal for you...." id="10"/>
                </td>  
                <td>2012-08-26</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="11" id="getmsg">All Messages Are Monitored..if we found ...</a> -->
                 <input class="data" type="text" value="11" id="11" />
                 <input type="button" href="#get-content" class="clickme" value="All Messages Are Monitored..if we found .." id="11"/>
                </td>  
                <td>2012-08-26</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="12" id="getmsg">All Messages Are Monitored All Messages ...</a> -->
                 <input class="data" type="text" value="12" id="12" />
                 <input type="button" href="#get-content" class="clickme" value="All Messages Are Monitored All Messages .." id="12"/>
                </td>  
                <td>2012-08-26</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="9" id="getmsg">date...</a> -->
                 <input class="data" type="text" value="9" id="9" />
                 <input type="button" href="#get-content" class="clickme" value="date.." id="9"/>
                </td>  
                <td>2012-08-21</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="1" id="getmsg">...</a> -->
                 <input class="data" type="text" value="1" id="1" />
                 <input type="button" href="#get-content" class="clickme" value=".." id="1"/>
                </td>  
                <td>0000-00-00</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="6" id="getmsg">...</a> -->
                 <input class="data" type="text" value="6" id="6" />
                 <input type="button" href="#get-content" class="clickme" value=".." id="6"/>
                </td>  
                <td>0000-00-00</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="7" id="getmsg">...</a> -->
                 <input class="data" type="text" value="7" id="7" />
                 <input type="button" href="#get-content" class="clickme" value=".." id="7"/>
                </td>  
                <td>0000-00-00</td>  
            </tr> 
                    <tr>  
                <td> <label class="checkbox"><input type="checkbox"></label> </td>  
                <td>Raj Janorkar </td>  
                <td><!-- <a href="8" id="getmsg">Hi want to test you...</a> -->
                 <input class="data" type="text" value="8" id="8" />
                 <input type="button" href="#get-content" class="clickme" value="Hi want to test you.." id="8"/>
                </td>  
                <td>0000-00-00</td>  
            </tr> 
                    </tbody>  
           </table>  
           <div id="content">
                The table will be placed here
            </div>

1 个答案:

答案 0 :(得分:2)

正如 MrOBRian 所提到的,您的问题出在$(".data").val()$(".data")会在页面上返回所有输入的集合data

您应该将选择器更改为$(this).siblings('.data').val();。这将为您提供点击按钮旁边的data输入。