使用jQuery Mobile 1.4.2远程自动完成列表视图提交表单?

时间:2014-04-16 16:10:31

标签: jquery-mobile jquery-validate jquery-mobile-listview

我有一个包含多个字段的表单,包括一个使用<ul data-role="listview">的远程自动填充字段,如jQuery Mobile 1.4.2文档状态。在桌面视图中,我正在使用带有jQuery UI自动完成功能的<input>字段。我在<ul>移动自动填充字段上收到jQuery验证错误,因为jQM创建的<input>字段不包含该值。顺便说一句,我正在使用MVC 5进行不引人注目的验证。

这是我正在使用的jQuery Mobile HTML代码:

<div data-role="page" id="myPage">
    <div id="myFormDiv" class="ui-content" data-theme="a" role="main">
        <form id="myForm" method="post" data-ajax="False" action="/MyController/SetVal">
            <div class="validation-summary-errors">
                <table>
                    <tbody>
                        <tr>
                            <td class="myInput">
                                <ul id="field1" data-role="listview" data-inset="true" data-filter="true"></ul>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <input type="submit" id="done" name="btnSubmit" value="Done" data-mini="true" data-inline="true" data-theme="a" />
        </form>
    </div>
</div>

我正在通过JS处理表单POST,如下所示:

$.post($form.attr('action'), $form.serializeArray()) // ... code snipped

我发现 field1 的表单数据没有出现,因为jQM为<input>标记创建的<ul>字段不包含值属性。

是否可以使用jQM 1.4远程自动完成列表视图进行表单提交?

1 个答案:

答案 0 :(得分:1)

我通过在<input>标记下面放置一个隐藏的<td class="myInput">并在选择listview项目时设置隐藏输入的值来解决这个问题。