所以我有这个问题:在表格中我有这个按钮。当我点击它时,我想要发生两件事:
除了每次都在设置字段值之前显示div,因此您可以看到要更改的值。
这是我试过的:
var promise = $.getJSON(url);
var done = promise.done(function(data){
//setting the value for the fields in the hidden div
});
if (done){
showHide(id); //show the div
}
仅供参考,showHide(id)是在外部Javascript文件中定义的函数,而其余代码是在jsp文件中的脚本标记内定义的(我显然包含了Javascript文件)。
我也尝试将showHide函数放在匿名函数中,但在这种情况下,根本没有调用showHide(好像它没有被识别)。
我能做什么?提前致谢
答案 0 :(得分:1)
您可以使用Promise
来实现这一目标。
在new Promise
内做任何你想做的事。 resolve
当你完成后,然后在.then()
var promise = new Promise((resolve, reject) => {
//I'll use a setTimeout here to demonstrate
setTimeout(function(){
$('#toShow').text('I\'m done here !');
resolve();
},2000);
});
promise.then(function(){
console.log($('#toShow').text());
});
div{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="toShow"></div>
答案 1 :(得分:0)
您可以使用success
和error
回调函数,如jQuery documentation中所述:
$.getJSON(url, function(result) {
// Success
$("#myDiv").text(result);
$("#myDiv").show();
})
.error(function() {
// Fail
alert("error");
})