Jquery 当我单击obout网格中的一行时,如何为textbox赋值?

Jquery 当我单击obout网格中的一行时,如何为textbox赋值?,jquery,obout,Jquery,Obout,我正在研究关于网格,当我单击其中的一行时,网格下面板中的文本框控件必须填充选定的行值。我在客户端使用网格视图的onClientSelect属性执行此操作。我在单击行时获取值,但无法将其分配给控件。请看一下代码,让我知道 <%@ Register Assembly="obout_Grid_NET" Namespace="Obout.Grid" TagPrefix="cc1" %> <%@ Register Assembly="obout_Interface" Namespace=

我正在研究关于网格,当我单击其中的一行时,网格下面板中的文本框控件必须填充选定的行值。我在客户端使用网格视图的onClientSelect属性执行此操作。我在单击行时获取值,但无法将其分配给控件。请看一下代码,让我知道

<%@ Register Assembly="obout_Grid_NET" Namespace="Obout.Grid" TagPrefix="cc1" %>
<%@ Register Assembly="obout_Interface" Namespace="Obout.Interface" TagPrefix="cc2" %>
<%@ Register TagPrefix="igg" Namespace="HR" Assembly="HR" %>



<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
 <script type="text/javascript">
     function OnRecordFillPanel(arrSelectedRecords) {
         for (var i = 0; i < arrSelectedRecords.length; i++) {
             var record = arrSelectedRecords[i];
             $("#ernType").text = record.EARNCDE;//**problem comes here cannot assign value to textbox.**

         }

}
function addNewRec() {
    $('#ernType').val('');//**and also cannot clear the value here**
}
  </script>

 <div >
 <div>
 <ISS:ISSOGrid ID="grd_EarningCodeTable" runat="server" Width="100%" OnClientSelect="OnRecordFillPanel" 
 AllowMultiRecordSelection="false" AutoGenerateColumns="false">  
  <Columns>
  <cc1:Column ID="col_ErnType" DataField="EARNCDE" HeaderText="Earning Code" runat="server"
              HeaderAlign="Left" Align="Left" Width="20%" />
  <cc1:Column ID="col_Desc" DataField="DESCRIPTION" HeaderText="Description" runat="server"
              HeaderAlign="Left" Align="Left" Width="25%" />

   </ISS:ISSOGrid>
   </div>

    <div>
    <asp:Panel ID="pnl_details" runat="server" Height="214px">
    <div id="Div1" class = "showdetails" visible = "true" runat ="server" style="padding : 20px;">

      <div style ="padding: 6px; width: 882px;">
          <label>Earnings Type:&nbsp;&nbsp;&nbsp;&nbsp;</label>
          <asp:TextBox ID = "ernType"  runat ="server"></asp:TextBox>
      </div>
       <div style ="padding: 6px; width: 467px;">
          <label>Description:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
          <asp:TextBox ID = "desc" runat ="server" Width="300px"></asp:TextBox>
      </div>

      <div style ="padding: 6px;">

              <asp:Button ID="btn_new" runat="server" Text="New" OnClientClick="javascript:addNewRec();" />
          </asp:Panel>
      </div>

      </div>
    </asp:Panel>
    </div>
    </div>


</asp:Content>

您的问题是,您正在以希望使用类的方式使用id。我假设arrSelectedRecords有多个条目,这就是为什么要使用for循环,这看起来可能是失败的原因

每个网页应该只有一个唯一的ID! 上面是for循环的外观。我对你的问题的解释可能是错误的,但我相信这可能是问题所在。因此,您必须将id=ernType的所有内容更改为class=ernType


不过,我90%都在猜你想要什么。如果您能提供更多信息,那将非常有帮助。

有没有任何方法可以在不使用for循环的情况下实现这一点。.我的意思是,RecordFillPanel上的函数可以用其他方式编写吗?您必须给我一些您试图实现的更多信息。举个例子会很有帮助。您打算如何处理arrSelectedRecords中的每一笔收入entries@user3154990为了向您展示一个id与类的工作方式不同的快速示例,请看以下内容:我将在文本框中显示erncde,例如,如果ern代码是FGG,当我单击该行时,文本框中应该填充类似于$ernType.text=$col_ernType.valEARNCDE的FGG代码;
 for (var i = 0; i < arrSelectedRecords.length; i++) {
     var record = arrSelectedRecords[i];
     $(".ernType").val(record.EARNCDE);//**problem comes here cannot assign value to textbox.**

 }