Jquery 当我从kendodropdownlist中选择并向函数发送数据时,我必须重新加载页面以清除数据
我有一个用于jquery网格的剑道ui。在第一列单元格中,有一个kendodropdownllist下拉列表,其中设置了一个选择函数。当一个人选择一个选项时,我会获取该行的数据,下拉选择,弹出一个模型窗口,验证用户在窗口中的输入,然后使用send将数据发送到后端API调用。我在validator.validate上设置了if/else,以便捕获失败消息并发出警报,但在“完成”中,我隐藏了模式窗口。问题是,如果立即在另一行中选择另一个下拉列表,则会在模式窗口的文本区域中看到以前键入的文本。和以前执行的同一行数据将再次与当前行的数据一起执行。所以我需要清除模态窗口和之前设置的变量Jquery 当我从kendodropdownlist中选择并向函数发送数据时,我必须重新加载页面以清除数据,jquery,ajax,kendo-ui,Jquery,Ajax,Kendo Ui,我有一个用于jquery网格的剑道ui。在第一列单元格中,有一个kendodropdownllist下拉列表,其中设置了一个选择函数。当一个人选择一个选项时,我会获取该行的数据,下拉选择,弹出一个模型窗口,验证用户在窗口中的输入,然后使用send将数据发送到后端API调用。我在validator.validate上设置了if/else,以便捕获失败消息并发出警报,但在“完成”中,我隐藏了模式窗口。问题是,如果立即在另一行中选择另一个下拉列表,则会在模式窗口的文本区域中看到以前键入的文本。和以前执
$('#my_window_textarea').val("");
grid.refresh();
grid.dataSource.read();
grid.dataSource.refresh();
grid.dataSource.sync();
$('#my_window').refresh();
var grid = $("#grid").kendoGrid({
...
dataBound: function(e) {
...
$(".my_dropdown")
dataTextField: "my_dp_name",
dataValueField: "my_dp_field",
optionLabel: "select something",
dataSource: mydata,
select: function(e){
var grid = $(#grid).data("kendoGrid");
var dataItem = grid.dataItem(this.wrapper.parents('tr'));
var my_first_row_val = dataItem.first_id.toString();
....
var dp_selection = e.dataItem.my_dp_name.toString();
if(dp_selection == 'Something specific'){
$('#my_dialog').modal();
var validator = $('my_dialog').kendoValidator().data('kendoValidator');
$('#btn_save').on("click",function(){
if(validator.validate()){
send('some/where/function', {
'my_first_row_val': my_first_row_val,
}).fail(function(e) {
alert(e.responseText.toSource());
}).done(function(e) {
$('my_dialog').modal('hide');
location.reload(true);
});
}
});
唯一有效的解决方案是我调用
$'my_modal_dialog'。modal'hide';
然后
location.reloadtrue。
但是页面会跳转,这不是一个好的用户体验。您是说前一个请求是用前一个id执行的?像这样的?根据模式,您可以在使用$'my_dialog.modal body'显示它之前清除它的内容。例如,为空。它执行当前请求以及以前的请求。是的。事实证明,您必须将.offclick.onclick、函数{添加到按钮以放弃上一个单击事件,并仅对当前事件执行操作。