1

我有下表:

<table class="authors-list" border=0 id="ordertable">
  <tr>
     <td ><input type="text" id="product_1" name="product_1" class="rounded"/></td>
     <td ><input type="text" size='5' id="qty_1" name="qty_1" class="rounded"/></td> 
     <td class="tdcheckbox"><input type="checkbox"  id="h09_1" name="h09_1" class="rounded"/>
      <input type="text"  id="line_1_09" name="line_1_09" value=""></td> 
     <td class="tdcheckbox"><input type="checkbox"  id="h12_1" name="h12_1" class="rounded"/>
      <input type="text"  id="line_1_12" name="line_1_12" value=""></td> 
     <td class="tdcheckbox"><input type="checkbox"  id="h15_1" name="h15_1" class="rounded"/>
      <input type="text"  id="line_1_15" name="line_1_15" value=""></td>
     <td><input type="text" name="cubespercheck_1" id="cubespercheck_1" value="0" size=5></td>
  </tr>
</table>

你可以在这里看到小提琴:http: //jsfiddle.net/3Befc/7/

我的主要目标是能够将每个复选框作为单独的产品发布。产品字段填充了产品系列。例如 38114CR。复选框代表产品的长度。1.8 米长度 38114CR 的代码是 3811418CR 其中 18 是长度 (1.8)

最后,我希望能够将每个选中的复选框作为其唯一的产品代码发布。因此,如果为产品 38114CR 检查 0.9,则发布值 3811409CR。

我的最终目标是将以下内容插入数据库:(这是按照小提琴所需的结果)

**Product           Cubes**

3011409CR           7
3011412CR           7
2011512EX           3
2011515EX           3
5050009PT           2
5050012PT           2
5050015PT           2

我能想到的唯一方法是遍历表格,在选中复选框的地方,结合名称和长度,但即使这样也有一些挑战。

如何将上述表格行插入数据库?所以水平行到垂直记录插入?

请记住,用户可以输入他们想要的任何产品代码。

4

2 回答 2

1

您可以使用隐藏字段。在每一行添加一个隐藏字段,女巫将包含“真实值”。

然后在复选框中添加一个单击/更改/任何您想要的事件,如果用户可以键入代码,则在输入字段中键入一个键。该事件应发送 id 的“行”的结尾(如 _2、_2 等 -> 以您命名它们的方式)。

所有事件都应该调用相同的函数,女巫会将值连接到隐藏字段中。

像这样的东西 - 是一个示例复制粘贴不起作用;):

     function makeName(line) {
         // Loop through checkboxes on that line and make the name
         if (<checkbox is checked>)
              document.getElementById('hiddenField' + line).value = document.getElementById('product' + line).value + <checkboxFromLoop> // Etc., etc.
     }

在提交时只发送隐藏字段。它们将包含正确的值。

于 2013-04-23T10:27:58.857 回答
0
$(function () {
    $('#continue').on('click', function () {
        createcodes();
    });
});


function createcodes() {

    //run through each row
    $('.authors-list tr').each(function (i, row) {

        // reference all the stuff you need first
        var $row = $(row),
            $line = $row.find('input[name^=line]'),
            $family = $row.find('input[name*="family"]'),
            $size = $row.find('input[name^=size]'),
            $grade = $row.find('input[name*="grade"]');

        $line.val(
            $family.val() + ' ' + $size.val() + ', ' + $grade.val()
        );

    });
}
于 2013-04-23T20:44:55.533 回答