【发布时间】:2013-02-13 22:07:53
【问题描述】:
大家好,我有以下代码:
$(document).ready(function () {
$(".atf-submit").click(function () {
atf_name = $(this).parent().parent().find(".user_table");
atf_amount = $(this).parent().parent().find(".user_atf");
runATFinsider();
});
});
function runATFinsider(){
var urlatfinsider = '/pcg/ATF/updateATF_window.php';
var tagatfinsider = $("#insider_dialog");
var promise1a = showUrlInDialogATFinsider(urlatfinsider);
var promise2a = sendUpdateATFwindow();
$.when(promise1a, promise2a).done(function(data1, data2) {
tagatfinsider.html(data1[0]).dialog({
width: '100%',
modal: true
}).dialog('open');
//$('.updaterATF_outerbody').text(data2[0].atfName),
//$('.updaterATF_outerbody').text(data2[0].atfAmount)
//alert(data2[0].atfname);
console.log(data2);
});
}
function showUrlInDialogATFinsider(urlatfinsider)
{
return $.ajax({
url: urlatfinsider
});
}
function sendUpdateATFwindow()
{
return $.ajax({
data: {
'atfName': atf_name.val(),
'atfAmount': atf_amount.val()
}
});
}
看看顶部,假设atf_name 和atf_amount 的值是'joe and 0' 当我执行console.log 或alert(data2[0].atfName) 它不存在?它没有定义,当我执行 console.log(data2) 时,代替值应该是表的大量 HTML 以及所有值的来源。我不知道为什么会发生这种情况,这没有任何意义,因为当我这样做 alert(aft_name.val()) 时,我会得到正确的值?
如果您能帮帮我,我将不胜感激。当对话框窗口已经打开并且打开另一个对话框窗口时,此代码也会运行。我认为这应该不是问题。
大卫
这是 HTML:
<input type='hidden' class='user_table' value='$memusername'/>
<input type='hidden' class='user_atf' value='$memATF'/>
这些都在表格内。
【问题讨论】:
-
你在哪里
alert(data[0].atfName)? -
我会做 alert(data2[0].atfName in the .$when)
-
如果你能把你的js和html放在jsfiddle.net上,调试起来会容易很多。
-
@DavidBiga 它未定义,因为您的 ajax 请求没有返回它。
-
@KevinB 我该如何解决这个问题?
标签: javascript jquery html jquery-ui dialog