Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用全局变量未定义jquery对话框标题_Javascript_Jquery_Jquery Ui_Jquery Ui Dialog - Fatal编程技术网

Javascript 使用全局变量未定义jquery对话框标题

Javascript 使用全局变量未定义jquery对话框标题,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,我在代码中设置了一个var,然后将其设置为全局变量,但由于某些原因,对话框将其显示为“未定义”。标题中不能有var吗?谢谢 在中。单击事件 box = $('#EB_custref').val(); 功能外 var box; 在对话框选项中 title: 'Edit box' + ' ' + box, 当您实例化对话框时,标题:“编辑框”+“+box行将运行:我假设您正在$(document.ready上执行此操作。此时,框变量未定义 在单击事件上设置框时,为时已晚-标题已设置 有关更多信

我在代码中设置了一个var,然后将其设置为全局变量,但由于某些原因,对话框将其显示为“未定义”。标题中不能有var吗?谢谢

在中。单击事件

box = $('#EB_custref').val();
功能外

var box;
在对话框选项中

title: 'Edit box' + ' ' + box,

当您实例化对话框时,
标题:“编辑框”+“+box
行将运行:我假设您正在
$(document.ready
上执行此操作。此时,
变量未定义

单击事件上设置
时,为时已晚-标题已设置

有关更多信息,请参阅


编辑

下面是一个解决方案的演示:

HTML

<button data-title="Apple">OPEN 1</button>
<button data-title="Banana">OPEN 2</button>

<div id="MyDialog">
    Example Dialog Content
</div>
请注意HTML5风格的
data-
属性的使用,这些属性可以在jQuery中通过
.data()
函数访问。还请注意,我使用了一个全局变量,向您展示了使用一个全局变量的可能性。但是没有必要这样做-最好的方法是将
customTitle
直接传递到
dialog()
调用中,即
$('#MyDialog')。dialog({title:customTitle})

检查其返回值是否正确


如果可能,发布更多代码/

您需要发布更多代码…@william。你为什么否决我?你怎么知道是我?我没有投你反对票,谢谢你,詹姆斯。我知道直接入侵css。那么我如何根据你的评论,从点击事件中使框成为全局的呢?感谢
var是全局的,只是您在未定义
title
属性时使用它来设置它。由于
title
只是一个字符串,因此随后是否更改
box
的值并不重要<代码>标题
将保持相同的文字字符串,即“编辑框未定义”。最好的办法是在点击事件上运行对话框实例化代码。你能给我一个例子吗。对于js&jquery来说,这是一个全新的概念。谢谢杰姆斯。非常感谢。然而,我仍然有错误。下面是一个场景。我需要捕获这个值,然后填充表单:var custref=$(“tr.trSelected td:nth child(8)div”).text()$(“#boxeditform”).find(#EB#custref”).attr({value:custref});这是我试图捕捉的价值,以使标题变为var。谢谢
var globalTitle = ''; // Your global variable

// Startup operations
$(function () {

    $('#MyDialog').hide();
    $('button').click(function () { 
                          openMyDialog($(this).data('title')) 
                      });
});

// Open the dialog using the global myTitle variable
function openMyDialog(customTitle)
{
    globalTitle = customTitle;
    $('#MyDialog').dialog({title : globalTitle});
}
alert($('#EB_custref').val())