2

データの追加と編集に同じフォームを使用しました。追加と編集が正常に完了し、編集と追加が完了してリフレッシュしています。しかし、私は以下の解決策が必要です

私のjqueryコードは以下です

$(".update_vehicle_info").click(function(){
     var hdn_id = $(this).attr('data-hdn_id');
     $("#vehicle_form_div").find("#hdn_id").val(hdn_id);
     var post_url = "<?php echo base_url();?>index.php/spc_con/get_vehicle_info_data/" + hdn_id;
        $('#hdn_id').empty();
        $.getJSON(post_url, function(response){
        document.getElementById('financial_year_id').value = response.financial_year_id;
        document.getElementById('vehicle_id').value = response.vehicle_id;
        document.getElementById('brand_id').value = response.brand_id;
        document.getElementById('country_id').value = response.country_id;
        document.getElementById('reg_no').value = response.reg_no;
        document.getElementById('capacity').value = response.capacity;
        document.getElementById('running').value = response.running;
        document.getElementById('serviceable').value = response.serviceable;
        document.getElementById('condemned').value = response.condemned;
     });
     $("#vehicle_form_div").dialog("open");
 });

以下のスクリーンショットがあります ここに画像の説明を入力

編集ボタンをクリックすると、今は編集せず、[車両情報を追加] をクリックすると、編集フィールドの値はそのままですが、

編集をクリックし、編集せずにクロスをクリックするときに必要です。次に、ページが更新/リロードされ、[車両情報を追加] をクリックすると、すべてのフィールド データが保持されなくなります。

それを解決する方法、私を助けてください。

4

1 に答える 1

0

UPD: 各 tr に一意の ID を与えます。たとえば<tr id="tr_pk_23">...</tr>、23 はデータベース内の行の主キーです。

<button onClick="showModalForm(this,23);">EDIT</button>

function  showModalForm(button,id){
var $tr = $(button).closest('tr');
/*
* Send ajax request to your php script /myScript.php?id=23
* Find data in database by id, and generate modal form with php, send it back to browser append to body and show it to user.
*/
}

モーダル形式の更新ボタンは ajaxButton である必要があります。したがって、onClick を関数として割り当てる必要があります

<button onClick="saveDataAndUpdateRow(this,23);">UPDATE</button>

JavaScript:

function saveDataAndUpdateRow(button,id){
var $form = $(button).closest('form');
var data = $form.serialize();
/*
* Send data to another script, save your data in DB and generate a new <tr> with updated values
*/
var $new_tr = @ajaxresponse;
var $old_tr = $('#tr_pk_'+id);
$old_tr.after($new_tr);
$old_tr.remove();
}

このコンセプトに関する質問はお気軽にどうぞ。

于 2013-05-26T10:21:17.570 に答える