Jquery ui 将变量传递给jquery对话框
我想向jquery对话框窗口传递一个变量。我使用的是经典的ASP,onyl真正接触到了jquery的世界。我花了几个小时研究并尝试使用.data方法,但遇到了麻烦。你的时间和帮助将非常宝贵 这是我的精简版:Jquery ui 将变量传递给jquery对话框,jquery-ui,asp-classic,Jquery Ui,Asp Classic,我想向jquery对话框窗口传递一个变量。我使用的是经典的ASP,onyl真正接触到了jquery的世界。我花了几个小时研究并尝试使用.data方法,但遇到了麻烦。你的时间和帮助将非常宝贵 这是我的精简版: $(function(){ // Dialog $('#dialog').dialog({ autoOpen: false, show: "slide
$(function(){
// Dialog
$('#dialog').dialog({
autoOpen: false,
show: "slide",
hide: "fade",
width: 452,
modal: true,
buttons: {
"Ok": function() {
PostItNote.submit();
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
// Dialog Link
$('#dialog_link').click(function(){
$('#dialog').dialog('open');
return false;
});
});
这就是我对窗口的称呼:
<a href='#' id='dialog_link' CLASS='OrangeButton'> Show Window </a>
以及“我的窗口”的内容:
<div ID="dialog" TITLE="Periodic Report">
stuff here
</div>
这里的东西
为何我不能这样做:
<a href='#' id='dialog_link(someValue)' CLASS='OrangeButton'> Show Window </a>
先谢谢你
它在ASP循环中的使用方式如下:
do until Products.EOF
--other code here---
<a href='#' id='dialog_link(Products(0))' CLASS='OrangeButton'>
--other code here---
products.moveNext
loop
do until Products.EOF
--这里还有其他代码---
--这里还有其他代码---
产品。下一步
环
该对话框只是页面上的一个div
,因此不能真正“传递”一个值。不过,它可以由作用域中的任何JavaScript变量进行操作。您可以将单击处理程序更改为使用变量来操作对话框:
var myVariable = "Some new text for the dialog";
$('#dialog_link').click(function(){
//New code to "pass" a value to the dialog
$('#dialog').text(myVariable);
$('#dialog').dialog('open');
return false;
});
...
width: 452,
open: function() { $('#dialog').text(myVariable); },
modal: true,
...
或者,您可以使用对话框的open
成员:
var myVariable = "Some new text for the dialog";
$('#dialog_link').click(function(){
//New code to "pass" a value to the dialog
$('#dialog').text(myVariable);
$('#dialog').dialog('open');
return false;
});
...
width: 452,
open: function() { $('#dialog').text(myVariable); },
modal: true,
...
在对话框打开时对其进行更改
代码id='dialog\u link(someValue)
不会做任何事情,因为id
属性不能进行函数调用,只有像onchange
这样的事件处理程序才能进行调用。即使可以,dialog\u link
也不是一个可以传递值的函数。它只是另一个元素的id
我相信您可能已经知道了,但是jQuery文档非常有用-
编辑
回应您的评论:我将删除$(“#对话框链接”)。单击()代码>语句并将链接代码更改为以下内容:
<a href='#' class='OrangeButton' onclick='openDialog(someValue);'>Show Window</a>
编辑2
在ASP循环内部,类似这样的内容应该可以实现以下目的:
Response.Write("<a href='#' onclick='openDialog(" & Products(0) & ");'>Show</a>")
Response.Write(“”)
这将使用onclick
处理程序在页面上创建一个
元素,该处理程序将所需值传递给openDialog
,使对话框可以访问该元素
我稍微更改了链接的代码,使其可以放在一行中,但是如果您愿意,您可以随时添加class='OrangeButton'
以及所有这些内容。感谢您的快速响应。我知道你给了我一个在JS中初始化变量的例子。我应该提到:@Mat41:你能发布你的ASP循环的代码吗?那将非常有帮助。我用一些我认为有用的东西编辑了我的回复。嗯,我不太确定我是否按了正确的编辑按钮(第一次在这个论坛上),因为新添加的内容似乎不在下面,而且“编辑”标题也不像你的标题。我已经把我的循环贴在上面的“如何在ASP循环中使用”文本下,希望你能看到it@Mat41当前位置查看我的第二次编辑,它将为您提供所需内容。如果您觉得这有帮助,请不要忘记接受我的答案(勾选左边的勾号),欢迎使用stack overflow!大家好,请原谅我对JQuery的基本理解。所以我看到$('#dialog').text(value);在opendialog函数中,打印我传递给屏幕的值,很好。我现在已经把这件事评论掉了。如果我想在用户单击OK im my dialog window时将此值指定给对话框窗口中的现有隐藏表单变量,我将如何执行此操作?当我把这一行放在OK函数中(就在positnote.Submit之前)行positnote.ProductID.value=text(value)时,我得到的值是未定义的;提前谢谢你!