2

wordpressテーマオプションページでjQueryを使用して動的行を追加しようとしています..

THEME-OPTIONS ページの私の HTML

<a href="#" title="" class="add-author">Add Author</a>

<table class="authors-list" id="tablebody" border="1" bordercolor="#ddd" 
style="background-color:#F5F5F5" width="100%" cellpadding="3" cellspacing="3">
    <tr><td>Designation</td><td>StartDate</td><td>EndDate</td></tr>
    <tr>
        <td><input style="width:200px" type="text" name="designation"/></td>
        <td><input style="width:200px" type="text" id="start_date" name="start_date"/></td>
        <td><input style="width:200px" type="text" id="end_date" name="end_date"/></td>
    </tr>
</table>

行を追加するための私のjQueryコード

var counter = 1;
jQuery('a.add-author').click(function(event){
alert("asdas");
    event.preventDefault();
    counter++;
    var newRow = jQuery('<tr><td><input style="width:200px" type="text" name="designation' +
counter + '"/></td><td><input style="width:200px" type="text" id="start_date'+ counter +'" name="start_date' +
        counter + '"/></td><td><input style="width:200px" id="end_date'+ counter +'" type="text" name="end_date' +
        counter + '"/></td></tr>');
    jQuery('table.authors-list').append(newRow);
    jQuery("#start_date"+ counter).datepicker();
    jQuery("#end_date"+ counter).datepicker();

});

行の追加の動作デモ

wordpressのデータベースに行数のカウンターを保存するにはどうすればよいですか...そして、追加された行数を取得するにはどうすればよいですか..Plz助けてください..私はwordpressデータベースに新しいテーブルを作成していません. これをテーマオプションデータベースに保存したいので、 も使用してみましたupdate_optionが、それらのページでの使用方法がわかりません..どうもありがとうadd_optionajax requestupdate_option

4

1 に答える 1

1

これにカウンターを使用するのはあまり好きではありません。おそらく最も軽い方法ですが、jqueryで最も安全な方法は、そのように行を追加した後(追加した直後)、単純にajaxリクエストを行うことだと思います。 :

    //The first table row is the header so you remove this row from the count
    rowNumber = ($('#myTable tr').length - 1);

次に、次のように ajax を使用してこの番号をデータベースに保存するだけです。

   jQuery.ajax({
     type: 'post',
     url: 'save.php' //In this file, you'll do a php/mysql request that will do this SQL request *** UPDATE your_table SET your_table_column_where_you_want_to_set_it = $_POST['rownumber'] WHERE current_user_id = unique_user_id *** Of course, you might also save the date in this row but I let you take care of the request update now that you understand the basics
     , 
     data: {
        rownumber: rowNomber // This will be the $_POST['rownumber'] on the save.php file
      }, 
     success: function() {
        // Action if it works (popup saying new field saved ? or something like this)
     },
     error: function() {
        //If it doesn't work, do an action
     }
   });
于 2013-08-05T18:50:25.853 に答える