[jQuery] Re: In a table, I add a new row( string append to the table), It can not action some even.
Give live ago instead of click.
something like:
$(document).ready(function(){
$(".up,.down").live("click",function(){
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
});
Jon
2009/10/21 Mead Lai <laiqinyi@gmail.com>:
>
> I am very newer to JQuery, beg U pardon.
> While, in every table row I have two link button :
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> And I click "up" the table row <tr> will move up, the "down" is same
> move down.
> But, I add a row into table use append string to table, like
> following:
> $("#btn_add").click(function(){
> $("#myTable tbody").append("<tr><td>5Five</td><td>Five<input
> type='text' name='tb_class'></td><td>Five</td><td><a href='#'
> class='up'>Up</a> =<a href='#' class='down'>Down</a></td></tr>");
> });
> The appended table row, can not response the even, where I click the
> "up" and "down" link.
> How to make the appended table-row bind the click even?
> Thanks in advance, All source is below...
> ==============================================
>
> <!doctype html>
> <head>
> <title>Test</title>
> <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
> <script type="text/javascript">
> $(document).ready(function(){
> $(".up,.down").click(function(){
> var row = $(this).parents("tr:first");
> if ($(this).is(".up")) {
> row.insertBefore(row.prev());
> } else {
> row.insertAfter(row.next());
> }
> });
>
> $("#btn_show").click(function(){
> var $myTable = $("#myTable");
> $myTable.find("tr").each(function(i){
> alert($(this).find("input").val()+"=="+i);
> });
> });
>
>
>
> $("#btn_add").click(function(){
> $("#myTable tbody").append("<tr><td>5Five</td><td>Five<input
> type='text' name='tb_class'></td><td>Five</td><td><a href='#'
> class='up'>Up</a> =<a href='#' class='down'>Down</a></td></tr>");
> });
>
>
>
> $("#btn_get_one").click(function(){
> var $myTable = $("#myTable");
> $myTable.find("tr").each(function(i){
> alert($(this).find("input").val()+"=="+i);
> });
> });
>
> });
> </script>
> </head>
> <body>
> <div class="demo-description">
> <input id="btn_show" type="submit" name="Submit" value="show the
> order">
> <input id="btn_add" type="submit" name="Submit" value="add a row">
> <input id="btn_get_one" type="submit" name="Submit" value="get first
> row">
> <br><div id="info">hell</div>
> <br>
>
> <table id="myTable">
> <tbody>
> <tr>
> <td>1One</td>
> <td>Type
> <input type="text" name="tb_class" value="mead"></td>
> <td>IsDisplay<input name="cb_is_show" type="checkbox" value=""></td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> <tr>
> <td>2Two</td>
> <td>Two
> <input type="text" name="tb_class" value="lai"></td>
> <td>Two
> <input name="cb_is_show" type="checkbox" value=""></td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> <tr>
> <td>3Three</td>
> <td>Three
> <input type="text" name="tb_class" value="princess"></td>
> <td>Three</td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> </tbody>
> </table>
>
> </div>
> <!-- End demo-description -->
> </body>
> </html>
>
Real Estate
Give live ago instead of click.
something like:
$(document).ready(function(){
$(".up,.down").live("click",function(){
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
});
Jon
2009/10/21 Mead Lai <laiqinyi@gmail.com>:
>
> I am very newer to JQuery, beg U pardon.
> While, in every table row I have two link button :
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> And I click "up" the table row <tr> will move up, the "down" is same
> move down.
> But, I add a row into table use append string to table, like
> following:
> $("#btn_add").click(function(){
> $("#myTable tbody").append("<tr><td>5Five</td><td>Five<input
> type='text' name='tb_class'></td><td>Five</td><td><a href='#'
> class='up'>Up</a> =<a href='#' class='down'>Down</a></td></tr>");
> });
> The appended table row, can not response the even, where I click the
> "up" and "down" link.
> How to make the appended table-row bind the click even?
> Thanks in advance, All source is below...
> ==============================================
>
> <!doctype html>
> <head>
> <title>Test</title>
> <script type="text/javascript" src="../../jquery-1.3.2.js"></script>
> <script type="text/javascript">
> $(document).ready(function(){
> $(".up,.down").click(function(){
> var row = $(this).parents("tr:first");
> if ($(this).is(".up")) {
> row.insertBefore(row.prev());
> } else {
> row.insertAfter(row.next());
> }
> });
>
> $("#btn_show").click(function(){
> var $myTable = $("#myTable");
> $myTable.find("tr").each(function(i){
> alert($(this).find("input").val()+"=="+i);
> });
> });
>
>
>
> $("#btn_add").click(function(){
> $("#myTable tbody").append("<tr><td>5Five</td><td>Five<input
> type='text' name='tb_class'></td><td>Five</td><td><a href='#'
> class='up'>Up</a> =<a href='#' class='down'>Down</a></td></tr>");
> });
>
>
>
> $("#btn_get_one").click(function(){
> var $myTable = $("#myTable");
> $myTable.find("tr").each(function(i){
> alert($(this).find("input").val()+"=="+i);
> });
> });
>
> });
> </script>
> </head>
> <body>
> <div class="demo-description">
> <input id="btn_show" type="submit" name="Submit" value="show the
> order">
> <input id="btn_add" type="submit" name="Submit" value="add a row">
> <input id="btn_get_one" type="submit" name="Submit" value="get first
> row">
> <br><div id="info">hell</div>
> <br>
>
> <table id="myTable">
> <tbody>
> <tr>
> <td>1One</td>
> <td>Type
> <input type="text" name="tb_class" value="mead"></td>
> <td>IsDisplay<input name="cb_is_show" type="checkbox" value=""></td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> <tr>
> <td>2Two</td>
> <td>Two
> <input type="text" name="tb_class" value="lai"></td>
> <td>Two
> <input name="cb_is_show" type="checkbox" value=""></td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> <tr>
> <td>3Three</td>
> <td>Three
> <input type="text" name="tb_class" value="princess"></td>
> <td>Three</td>
> <td>
> <a href="#" class="up">Up</a>
> <a href="#" class="down">Down</a>
> </td>
> </tr>
> </tbody>
> </table>
>
> </div>
> <!-- End demo-description -->
> </body>
> </html>
>
Real Estate
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home