jQuery UI Dialog传递变量

时间:2010-04-15 08:45:37

标签: jquery-ui variables dialog

我正在为Mysql中的表创建一个Web界面,并希望使用jQuery对话框进行输入和编辑。我有以下代码:

    $("#content_new").dialog({
    autoOpen: false,
    height: 350,
    width: 300,
    modal: true,
    buttons: {
        'Create an account': function() {
            alert('add this product');
        },
        Cancel: function() {
            $(this).dialog('close');
            $.validationEngine.closePrompt(".formError",true);
        }
    },
    closeText: "Sluiten",
    title: "Voeg een nieuw product toe",
    open: function(ev, ui) { /* get the id and fill in the boxes */ },
    close: function(ev, ui) { $.validationEngine.closePrompt(".formError",true); }
});
$("#newproduct").click(function(){
    $("#content_new").dialog('open');
});
$(".editproduct").click(function(){
    var test = this.id;
    alert("id = " + test);
});

因此,当点击“editproduct”类的链接时,它会从该产品获取id,我希望它能够进入我的对话框的open函数。

我是否在正确的轨道上,有人可以帮助我在那里获得变量。

提前致谢。

2 个答案:

答案 0 :(得分:2)

在脚本中的所有内容之上设置一个变量the_id,然后尝试以下代码:

$("#newproduct").click(function(){
    $("#" + the_id).dialog('open');
});
$(".editproduct").click(function(){
    the_id = this.id;
});

答案 1 :(得分:0)

谢谢Sarfraz,你对这个变量是正确的。对于其他人感兴趣,完整的代码现在是:

$(document).ready(function() {
var id = 0;
$("#content_new").dialog({
    autoOpen: false,
    height: 350,
    width: 300,
    modal: true,
    buttons: {
        'Create an account': function() {
            alert('add this product');
        },
        Cancel: function() {
            $(this).dialog('close');
            $.validationEngine.closePrompt(".formError",true);
        }
    },
    closeText: "Sluiten",
    title: "Voeg een nieuw product toe",
    open: function(ev, ui) { alert(id); },
    close: function(ev, ui) { $.validationEngine.closePrompt(".formError",true); }
});
$("#newproduct").click(function(){
    $("#content_new").dialog('open');
});
$(".editproduct").click(function(){
    id = this.id;
    $("#content_new").dialog('open');
});
$("#new").validationEngine();});

在打开模态对话框时,我会得到正确的ID。