选择包含handlebar,expressjs的html表中的复选框

时间:2014-02-14 17:50:44

标签: javascript jquery html express handlebars.js

我有一个表格中的html表格,其中使用handebars填充表格的行。我想使用复选框选择表格的某些行。表单发布帖子请求。我正在使用express.js框架。要求是,在提交表单时,json应该有一个名为“checked”的字段,其值应为true,如果选择了该行,则为1。请帮我解决这个问题。

以下是html的片段

 <form  id='form1'>

<table border="1">

{{#each ElectrnicsResults}}
    <tr>
            <td>{{Product}}</td>
            <td>{{Description}}</td>
            <td>{{price}}</td>
            <td>{{quantity}}</td>
            <td>
          <input type='checkbox' id="check">
            </td>
            <td style="display:none">
                    <input type="hidden" name="electronicsId" value="{{electronicsId}}" />
                    <input type="hidden" name="Product" value="{{Product}}" />
                    <input type="hidden" name="Description" value="{{Description}}" />
                    <input type="hidden" name="price" value="{{price}}" />
                    <input type="hidden" name="quantity" value="{{quantity}}" />
                </td>


    </tr>
{{/each}}

</table>
<input type="submit" value="submit" >

 </form>

以下是使用JQuery的javascript代码

$(document).ready(function () {
    $('#form1').submit(function() {
        $.ajax({
            url: '/submitValues',
            type: 'post',
            dataType: 'json',
            data: $('#form1').serialize(),
            success: function() {
               alert("Submitted!"); // for testing
            }
        });
        return false;
    });


});

1 个答案:

答案 0 :(得分:0)

由于表单是动态创建的,因此您还必须动态解析结果。

首先,您需要将name字段附加到每个input type=checkbox元素。此名称必须对每个ElectrnicsResults都是唯一的(可能类似于ID字段)。

然后,在解析表单详细信息时,在后端代码中,您可以再次遍历每个相关的ElectrnicsResults并检查每个复选框的req.body.{UNIQUE_NAME_FIELD_VALUE},并采取相应的行动。