我有这段代码Ext.get('book').setValue('1');
注意:加载页面和书籍值设置为1.不在页面加载后 并将账面价值变更为1。
它将本书设置为值1.但它不会触发更改事件。有没有办法在页面加载后触发更改事件?
编辑: 在html脚本中,
<script..>
$(document).ready(function () {
$("book").on("blur", function() {
//calls other function
}); // not called as blur is not invoked
});
</script>
<input id="book" type="book" value="" /><br />
在extjs中,
var panel = Ext.create('Ext.grid.Panel', {
id: 'panel',
columns: [
var bookid = "new book";
Ext.Ajax.request({
params: { bookid: bookid},
function: function (response) {
Ext.get('book').setValue(bookid);
// after setValue, book will receive a change event(e.g .blur in html) and changes other functions
}
});
]
});
答案 0 :(得分:0)
您的ajax请求似乎格式不正确,function: function
语句将是您在以下语句中正常放置success: function
的位置:
Ext.Ajax.request({
url: 'insert-your-http-endpoint-here',
params: {
bookid: bookid
},
success: function(response){
debugger; // -> setting this statement will show that you enter the success statement
Ext.get('book').setValue(bookid);
},
failure: function(response, opts) {
// something went wrong with your request
console.log('server-side failure with status code ' + response.status);
}
});
有关如何使用ExtJS或特定功能的更多信息,您可以在文档中找到(检查您是否有正确的版本,可以找到)here
从上面的代码中,您不需要debugger
语句,但如果您想检查是否真的进入此代码块,它会有所帮助,以及当您尝试执行此操作时会发生什么设定值。
另外,当某些内容无法正常工作时,请不要忘记检查控制台输出,可能是控制台日志中有明确指出的问题