我来自ExtJS背景,正在慢慢地学习jQuery。我正在尝试访问从对话框的open事件添加到对话框的myVar的选项/属性的值。
$("#add-family-dialog").dialog({
autoOpen: true,
height: 450,
width: 600,
resizable: false,
modal: true,
myVar: "hello world!",
open: function(event, ui) {
// TODO: get the myVar value
// this
alert($(this).myVar);
// or this
alert($(this).attr("myVar"));
// or this
alert(this.myVar);
}
});如何访问myVar的值?这是正确的方法吗?还是有更好的方法来保存对象上的变量?
发布于 2012-03-03 12:08:17
您可以通过'option'方法访问它:
var myVar = $(this).dialog('option', 'myVar');演示:http://jsfiddle.net/ambiguous/ww5Gm/
我不知道这是特定的还是偶然的行为,所以我不会依赖它。一种更自然的方法(IMO)是使用data附加额外数据:
$('.dialog').data('myVar', 'hello world!').dialog({
// ...
open: function(event, ui) {
var myVar = $(this).data('myVar');
// ...演示:http://jsfiddle.net/ambiguous/R9z8D/
发布于 2012-03-03 12:03:25
您的变量"myVar“不是插件对话框(jquery ui)选项的一部分,您不能向对话框的构造函数添加额外的任意变量。
在我看来,更好的方法是将变量放在对话框之外:
var myVar='hello world';
$( "#add-family-dialog" ).dialog({
autoOpen: true,
height: 450,
width: 600,
resizable : false,
modal: true,
open: function(event, ui) {
alert(myVar);
}
});...or获取页面中隐藏的html元素的值
<input type="hidden" id="myVar" value="hello world" />...in javascript
alert($('#myVar').val());我希望这能帮到你。
https://stackoverflow.com/questions/9543258
复制相似问题