我在代码中设置了var然后使其成为全局变量,但由于某种原因,对话框将其显示为“未定义”。你不能拥有var的头衔吗?感谢
在.click事件中
box = $('#EB_custref').val();
功能之外
var box;
在对话框选项中
title: 'Edit box' + ' ' + box,
答案 0 :(得分:2)
实例化对话框时会运行title: 'Edit box' + ' ' + box
行:我假设您在$(document).ready
上执行此操作。此时,您的box
变量未定义。
当您在box
事件上设置click
时为时已晚 - 标题已设置。
有关详细信息,请参阅this post。
修改强>
以下是一个解决方案的演示:
<强> HTML 强>
<button data-title="Apple">OPEN 1</button>
<button data-title="Banana">OPEN 2</button>
<div id="MyDialog">
Example Dialog Content
</div>
<强> JQUERY 强>
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});
}
请注意使用HTML5风格的data-
属性,这些属性可以通过.data()
函数在jQuery中访问。另请注意,我使用了一个全局变量来向您显示可以使用一个变量。但是没有必要 - 最好的方法是将customTitle
直接传递到dialog()
来电,即$('#MyDialog').dialog({title : customTitle});
答案 1 :(得分:0)
alert($('#EB_custref').val())
检查其返回值是否
如果可能的话,发布更多代码/