-2

我有一个包含各种文本框的网格视图。我需要添加所有文本框值并将结果显示在单独的文本框中。我需要为此使用java脚本。请帮帮我。

4

3 回答 3

1

您的网格基本上是客户端的表格,因此使用您的网格 ID 访问表格,然后遍历其行以获取您的文本框值。

于 2013-07-04T07:28:52.870 回答
0

尝试这个

标记:

<table>
 <tr>
   <td>text box 1</td>
   <td><input type="text" class="textbox"  value="value1" /></td>
</tr>
<tr>
   <td>text box 2</td>
   <td><input type="text" class="textbox"  value="value2" /></td>
</tr>
<tr>
   <td>text box 3</td>
   <td><input type="text" class="textbox"  value="value3" /></td>
</tr>
<tr>
  <td>text box 4</td>
    <td><input type="text" class="textbox"  value="value4" /></td>
</tr>
<tr>
  <td>text box 5</td>
  <td><input type="text" class="textbox"  value="value5" /></td>
</tr>
<tr>
  <td>text box Final</td>
  <td><input type="text" class="textbox"  value="value5" /></td>
</tr>
</table>

<input type="text" id="final"  />

脚本:

<script type="text/javascript">
   var getp = document.getElementsByClassName('textbox');
   var temp = "";
   for(i=0;i<getp.length;i++)
     {
       temp +=getp[i].value+" ";
     }
   document.getElementById('final').value = temp
</script>
于 2013-07-04T07:43:15.820 回答
0

我不完全确定您的意思是:

我有一个包含各种文本框的网格视图。我需要添加所有文本框值并将结果显示在单独的文本框中。

当您使用网格视图时,它实际上应该以连贯的方式填充您的数据存储。除非您的评论表明您使用的文本框不是传统的网格视图。

你可能想看看Knockout。这个特殊的Java Script库非常强大且动态 - 一个示例如下:

标记:

<div data-bind='simpleGrid: gridViewModel'> </div>

<button data-bind='click: addItem'>
    Add item
</button>

<button data-bind='click: sortByName'>
    Sort by name
</button>

<button data-bind='click: jumpToFirstPage, enable: gridViewModel.currentPageIndex'>
       Jump to first page
</button> 

剧本:

var initialData = [
    { name: "Well-Travelled Kitten", sales: 352, price: 75.95 },
    { name: "Speedy Coyote", sales: 89, price: 190.00 },
    { name: "Furious Lizard", sales: 152, price: 25.00 },
    { name: "Indifferent Monkey", sales: 1, price: 99.95 },
    { name: "Brooding Dragon", sales: 0, price: 6350 },
    { name: "Ingenious Tadpole", sales: 39450, price: 0.35 },
    { name: "Optimistic Snail", sales: 420, price: 1.50 }
];

var PagedGridModel = function(items) {
    this.items = ko.observableArray(items);

    this.addItem = function() {
        this.items.push({ name: "New item", sales: 0, price: 100 });
    };

    this.sortByName = function() {
        this.items.sort(function(a, b) {
            return a.name < b.name ? -1 : 1;
        });
    };

    this.jumpToFirstPage = function() {
        this.gridViewModel.currentPageIndex(0);
    };

    this.gridViewModel = new ko.simpleGrid.viewModel({
        data: this.items,
        columns: [
            { headerText: "Item Name", rowText: "name" },
            { headerText: "Sales Count", rowText: "sales" },
            { headerText: "Price", rowText: function (item) { return "$" + item.price.toFixed(2) } }
        ],
        pageSize: 4
    });
};

ko.applyBindings(new PagedGridModel(initialData));

这是 jsFiddle 的链接

这是直接来自Knockouts页面的精彩文档之一,可在此处找到。无论如何,希望这对您有所帮助-您实际上可以利用该项目的多个方面来满足您想要的目标。唯一的区别是我假设的文本框的实现是修改内部网格数据。希望这可以为您指明一个好的方向。

于 2013-07-04T07:40:07.290 回答