Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 当我从kendodropdownlist中选择并向函数发送数据时,我必须重新加载页面以清除数据_Jquery_Ajax_Kendo Ui - Fatal编程技术网

Jquery 当我从kendodropdownlist中选择并向函数发送数据时,我必须重新加载页面以清除数据

Jquery 当我从kendodropdownlist中选择并向函数发送数据时,我必须重新加载页面以清除数据,jquery,ajax,kendo-ui,Jquery,Ajax,Kendo Ui,我有一个用于jquery网格的剑道ui。在第一列单元格中,有一个kendodropdownllist下拉列表,其中设置了一个选择函数。当一个人选择一个选项时,我会获取该行的数据,下拉选择,弹出一个模型窗口,验证用户在窗口中的输入,然后使用send将数据发送到后端API调用。我在validator.validate上设置了if/else,以便捕获失败消息并发出警报,但在“完成”中,我隐藏了模式窗口。问题是,如果立即在另一行中选择另一个下拉列表,则会在模式窗口的文本区域中看到以前键入的文本。和以前执

我有一个用于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、函数{添加到按钮以放弃上一个单击事件,并仅对当前事件执行操作。