获得对启动jQuery Dialog的按钮的引用

时间:2013-01-02 20:31:31

标签: jquery jquery-ui button

我有一个页面,其中包含可变数量的动态生成的表格。每个表都列出了一组用户可以添加/编辑/删除的“产品”。每张桌子下面都是一个按钮。我希望每个按钮将上面的表中的产品保存到“包”,这只是一组产品。单击该按钮时,我希望它启动一个jQuery对话框表单,用户可以在其中输入他们正在创建的包的名称和描述。

有没有办法让我在对话框的“按钮”功能范围内首先获得对启动jQuery对话框的按钮的引用?这样,当用户单击对话框中的“保存”按钮时,我可以提交对话框本身中包含的表单(名称和描述),也可以提交页面中最近的表中包含的产品数据。标记到用户单击以启动表单的特定按钮?

编辑:我忘了提到WHOLE页面(所有表格)已包含在一个表单元素中。这是因为用户还可以将三个表中的所有产品保存为“机会”,这是一组产品组。这是一个用于显示布局的小伪html:

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

为了允许用户将所有表中的所有产品保存到“机会”,我需要将所有三个表保存在一个表单标记中。但是,当用户单击特定表下的“保存包”按钮时,我只想提交该表中的数据以及用户在对话框中输入的名称和描述。

2 个答案:

答案 0 :(得分: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
         });
    });
});

答案 1 :(得分:0)

在js中定义一个全局变量,并在单击其中一个按钮时设置其值 在这个例子中使用“id”。

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

也许这可能会有所帮助:
http://jsfiddle.net/Vm7PL/1/

你也可以使用jquery-ui对话框。