Jquery 在jqGrid编辑表单中,如何在同一行上有多个字段?
通常在jqGrid编辑表单中,每个字段都位于单独的行上,标签在左侧,字段输入在右侧。但是,在我们的一些网格中,我们有一些字段,用户希望这些字段在编辑表单中彼此相邻,因为它们在逻辑上是相关的,例如,季度和年度在一行中,左侧有一个标签 我认为唯一可行的方法是使用带有Jquery 在jqGrid编辑表单中,如何在同一行上有多个字段?,jquery,jqgrid,Jquery,Jqgrid,通常在jqGrid编辑表单中,每个字段都位于单独的行上,标签在左侧,字段输入在右侧。但是,在我们的一些网格中,我们有一些字段,用户希望这些字段在编辑表单中彼此相邻,因为它们在逻辑上是相关的,例如,季度和年度在一行中,左侧有一个标签 我认为唯一可行的方法是使用带有edittype:'custom'的自定义格式化程序,在这种情况下,在分别加载/保存时,必须拆分/合并两个或多个字段 有点求助于这种可怕而乏味的方法,有没有更好/更简单的方法呢?您可以使用或修改表单 您应该考虑到,表单数据将被放置在具有i
edittype:'custom'
的自定义格式化程序,在这种情况下,在分别加载/保存时,必须拆分/合并两个或多个字段
有点求助于这种可怕而乏味的方法,有没有更好/更简单的方法呢?您可以使用或修改表单
您应该考虑到,表单数据将被放置在具有id
的中,就像“TblGrid\uu”+grid\uid
一样。表中的行具有类似于tr_myCol
的ID,其中名称'myCol'
是colModel
中相应网格列的name
属性的值。因此,您可以使用新的
元素附加
元素以及您需要的附加信息。当然,您可能应该增加窗体属性的值
可能对你有帮助
已更新:如果检查jqGrid的代码,您将在grid.formedit.js中找到以下代码片段:
$("#"+frmtb+" > tbody > tr > td > .FormElement").each(function(i) {
...
switch ($(this).get(0).type) {
...
case "text":
postdata[this.name] = $(this).val();
...
}
因此,重要的是,input、select和其他输入元素必须位于表单同一表的and
单元格中。例如,“invdate”
列的输入元素将具有(简化形式)
因此,它已经包含了您需要的所有字段。您可以根据需要对输入字段重新排序。您可以添加额外的
或
元素或将其删除。例如,您可以将表格缩减为一个
和一个
单元格,并将所有输入字段和标签放在单元格内。在我看来,编辑表单将不会有任何问题
因此,您可以在编辑/添加表单中进行大量修改。感谢您的回答,我已经出于其他原因使用了beforeShowForm和afterShowForm,但我没有想到使用它来操纵元素的位置等等。问题是,所有元素都映射到我的colModel,因此如果每个tr都有一个您建议的id,并且jqGrid希望在单独的行中找到这些元素,那么如果我在同一行上移动了另一个输入字段,它不会抱怨吗?@AsGoodAsItGets:我用其他信息更新了我的答案。感谢更新,我会尝试一下,让你知道它是否有效!它工作得很好,虽然在我的情况下它有点复杂。再次感谢@AsGoodAsItGets:不客气!事实总是如此,随着演示的进行,现实变得更加复杂。我只想向您展示如何实现需求的方法。
<input class="FormElement" name="invdate" type="text">