jQuery +迭代元素并在div中返回值

时间:2011-09-14 14:45:26

标签: jquery loops

我有一个类似于:

的div
<div class="items">
    <p class="item" id="isbn_123456">ISBN 
                  <select id="isbn_select" style="margin-left:15px">
                       <option value="is">Is</option>
                       <option value="not">Not</option>
                       <option value="like">Like</option>         
                  </select>
                  <input id="isbn_value" type="text" style="margin-left: 15px;">
                  <select id="isbn_join" style="margin-left:25px">
                       <option value="and">And</option>
                       <option value="or">Or</option>
                  </select>
            </p>
    <p class="item" id="title_123456">Title
                  <select id="title_select" style="margin-left:15px">
                       <option value="is">Is</option>
                       <option value="not">Not</option>
                       <option value="like">Like</option>         
                  </select>
                  <input id="title_value" type="text" style="margin-left: 15px;">
                  <select id="title_join" style="margin-left:25px">
                       <option value="and">And</option>
                       <option value="or">Or</option>
                  </select>
            </p>
    <p class="item" id="author_123456">Author
                  <select id="author_select" style="margin-left:15px">
                       <option value="is">Is</option>
                       <option value="not">Not</option>
                       <option value="like">Like</option>         
                  </select>
                  <input id="author_value" type="text" style="margin-left: 15px;">
                  <select id="author_join" style="margin-left:25px">
                       <option value="and">And</option>
                       <option value="or">Or</option>
                  </select>
            </p>


            <p class="item" id="isbn_456767">ISBN 
                  <select id="isbn_select" style="margin-left:15px">
                       <option value="is">Is</option>
                       <option value="not">Not</option>
                       <option value="like">Like</option>         
                  </select>
                  <input id="isbn_value" type="text" style="margin-left: 15px;">
                  <select id="isbn_join" style="margin-left:25px">
                       <option value="and">And</option>
                       <option value="or">Or</option>
                  </select>
            </p>
</div>

现在,当我提交时,我希望获得所有值,因此结果将类似于

ISBN-IS-sdasd;标题-不-2323;作者-IS-445; ISBN-不-12345;

现在值是选择和/或键入的值。

2 个答案:

答案 0 :(得分:2)

使用.serialize()。请注意,您必须为表单元素提供name属性(您发布的标记没有name属性)。

Demo

实施例

$('form').submit(function() {
    $('#data').html($(this).serialize());
    return false;
});

现在您只需要将序列化的表单字符串用作ajax表单中的数据。

答案 1 :(得分:0)

执行此操作的最佳方法是将所有值作为json对象/ json字符串发送(听起来不那么麻烦)。

查看正确答案here