我得到一个div的id变量,如下所示:
var value = $(this).attr('id').replace("-", "");
我的HTML看起来像这样:
<li id="item-1">1</li>
<li id="item-2">2</li>
<li id="item-3">3</li>
所以我得到了item1,item2和item3。
现在,当我按下单击并将值设置为ID时,将打开一个对话框。在对话框里面有一个输入和一个好的按钮。当按下ok时我想再次获得该变量。
那我怎么能传递变量呢?我怎么能知道我正在为那个id说话的对话。
以下是一个例子:
$("#bxs li").click(function() {
var value = $(this).attr('id').replace("-", "");
$( "#dialog" ).dialog( "open" );
return false;
});
// Okay button from the dialog.
$(".okaybtn").click(function() {
// value is the variable from the previous function
localStorage.setItem( value , "test");
$( "#dialog" ).dialog( "close" );return false;
});
答案 0 :(得分:1)
jQuery数据:
$("#bxs li").click(function () {
var value = $(this).attr('id').replace("-", "");
$("#dialog").data("clickedfrom", value ).dialog("open");
return false;
});
// Okay button from the dialog.
$(".okaybtn").click(function () {
var $dialog = $("#dialog");
// value is the variable from the previous function
localStorage.setItem( $dialog.data( "clickedfrom" ), "test");
$dialog.dialog("close");
return false;
});
范围变量:
(function(){
var value;
$("#bxs li").click(function () {
value = $(this).attr('id').replace("-", "");
$("#dialog").dialog("open");
return false;
});
// Okay button from the dialog.
$(".okaybtn").click(function () {
// value is the variable from the previous function
localStorage.setItem( value, "test");
$("#dialog").dialog("close");
return false;
});
})()
答案 1 :(得分:0)
声明值在click处理程序范围之外,以便您可以从其他代码块访问它。
var value;
$("#bxs li").click(function() {
value = $(this).attr('id').replace("-", "");
$( "#dialog" ).dialog( "open" );
return false;
});
$(".okaybtn").click(function() {
// value is the variable from the previous function
localStorage.setItem( value , "test");
$( "#dialog" ).dialog( "close" );
return false;
});
答案 2 :(得分:0)
1.您可以将其存储为全局变量 - 不推荐使用
2.您可以将选定的变量值存储在隐藏输入中
3.您可以将id值作为对话函数的参数发送。
答案 3 :(得分:0)
我并不完全确定你之后会发生什么,但是如果你在这两个函数之外声明value
它会起作用,因为它会给变量一个两个都可以访问的全局范围功能。
var value;
$("#bxs li").click(function() {
value = $(this).attr('id').replace("-", "");
$( "#dialog" ).dialog( "open" );
return false;
});
// Okay button from the dialog.
$(".okaybtn").click(function() {
// value is the variable from the previous function
localStorage.setItem( value , "test");
$( "#dialog" ).dialog( "close" );return false;
});
答案 4 :(得分:-1)
为了在jQuery UI对话框中处理表单输入,您可以使用buttons
选项。
$( "#dialog" ).dialog({
buttons: {
"Ok": function() {
value = $('#dialoginputfield').val();
$(this).dialog("close");
}
}
});