3

動的に生成される可変数のテーブルを含むページがあります。各表には、ユーザーが追加/編集/削除できる「製品」のグループがリストされています。各テーブルの下にはボタンがあります。各ボタンで、その上の表の商品を「パッケージ」に保存します。これは単なる商品のグループです。ボタンがクリックされたときに、ユーザーが作成しているパッケージの名前と説明を入力できるjQueryダイアログフォームを起動するようにします。

ダイアログの「ボタン」機能の範囲内で、最初にjQueryダイアログを起動したボタンへの参照を取得する方法はありますか?そうすれば、ユーザーがダイアログの[保存]ボタンをクリックしたときに、ダイアログ自体に含まれるフォーム(名前と説明)と、ページに最も近いテーブルに含まれる製品データの両方を送信できます。ユーザーがフォームを起動するためにクリックした特定のボタンへのマークアップ?

編集: WHOLEページ(すべてのテーブル)がすでに1つのフォーム要素に含まれていることを忘れました。これは、ユーザーが3つのテーブルのすべての商品を、商品のグループのグループである「機会」として保存することもできるためです。レイアウトを表示するための小さな疑似HTMLを次に示します。

<form>
    <table>
    </table>
    <table>
    </table>
    <table>
    </table>
</form>

ユーザーがすべてのテーブルのすべての製品を「機会」に保存できるようにするために、3つのテーブルすべてを1つのフォームタグでラップしたままにする必要があります。ただし、ユーザーが特定のテーブルの下にある[パッケージを保存]ボタンをクリックすると、その1つのテーブルのデータと、ユーザーがダイアログに入力した名前と説明のみを送信したいと思います。

4

2 に答える 2

0

使用しているボタンの種類はわかりませんが、標準のhtml入力送信ボタンがあります

$(document).ready(function () {
    $("input[type='submit']").click(function () {
        var btn = $(this);

        //get the TR the button is in
        var tr = btn.parent().parent(); // first parent will be the TD, second will be TR, third would be the TABLE

        // find other elements in the TR
        tr.find('#someElement').each(function(){
            //do something with the elements
         });
    });
});
于 2013-01-02T21:26:46.310 に答える
0

jsでグローバル変数を定義し、ボタンの1つがクリックされた場合にその値を設定します。
この例では、「id」が使用されています。

$('.button').click(function(){
   id = $(this).index();
   $('#dialog').fadeIn('1000');
    return false;
});

多分これは役に立つかもしれません:http:
//jsfiddle.net/Vm7PL/1/

また、jquery-uiダイアログボックスを使用することもできます。

于 2013-01-02T21:54:59.410 に答える