【问题标题】:How JQuery to get this.textbox val with kendo ui gridJQuery 如何使用 kendo ui 网格获取 this.textbox val
【发布时间】:2025-12-06 16:15:02
【问题描述】:
    <tbody role="rowgroup"><tr>
  <td role="gridcell">input</td>
  <td role="gridcell">1</td>
  <td role="gridcell">
    <input class="remove1" type="button" value="▼" style="margin: 4px">
    <input id="Txt_test" class="txtBox" type="textbox" value="220" style="margin: 4px">
    <input class="Add1" type="button" value="▲" style="margin: 4px">   
    </td>
  <td style="display:none" role="gridcell">
  </td>
    
  </tr>
  <tr class="k-alt" role="row">
    <td role="gridcell">input</td>
    <td role="gridcell">2</td><td role="gridcell">
    <input class="remove1" type="button" value="▼" style="margin: 4px">
    <input id="Txt_test" class="txtBox" type="textbox" value="59" style="margin: 4px">
    <input class="Add1" type="button" value="▲" style="margin: 4px">
      
    </td>
    </tr>
      
    </tbody>

顶部代码是剑道ui网格输出,喜欢顶部图片

我想要(当我点击此输入 1 -> 文本框时)我需要在 Jquery 上获得 '220'

当我点击此输入 2 ->文本框时)我需要在 Jquery 上获得 '59'

**然后我尝试下面的 Jquery 代码但它总是获得第一个 textBox 值。 '220' **

$(document).on('change', '.txtBox', function (e) {             
    var ds2 = $("#AddGrid").data("kendoGrid").dataSource;        
    var row = $(this).closest("tr"),
        grid = $("#AddGrid").data("kendoGrid"),
        dataItem = grid.dataItem(row);

    var Txtinput = $("#Txt_test").val();
    debugger;
    ds2.fetch(function () {
       dataItem.txtRealNum = Txtinput;
    })
    $("#AddGrid").data("kendoGrid").refresh();
    return;

【问题讨论】:

  • 嗨,你能让这个可运行吗?
  • 嗨@Swati 我不确定你的意思
  • 补充信息比如我把第一个字段改成300如果输入成功的话可以通过上下键改成301或者299但是在第二个输入100的时候输入的是成功,但显示值为 300
  • 我在您的代码中看到的一个问题是重复的 ids 。您可以将 $("#Txt_test").val() 更改为 $(this).val() 看看这是否给了您价值
  • 嗨@Swati我能问另一个关于.CSS的问题吗?像上图一样,我想减小输入文本框的宽度和我的.CSS input#Txt_test { width: 20px; }

标签: jquery kendo-ui kendo-grid


【解决方案1】:

由@Swati 修复

我更改 Jquery 代码

var Txtinput = $("#Txt_test").val();

var Txtinput = $(this).val();

它对我有用!

感谢@Swati

【讨论】: