Javascript 使用全局变量未定义jquery对话框标题
我在代码中设置了一个var,然后将其设置为全局变量,但由于某些原因,对话框将其显示为“未定义”。标题中不能有var吗?谢谢 在中。单击事件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上执行此操作。此时,框变量未定义 在单击事件上设置框时,为时已晚-标题已设置 有关更多信
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())