jquery如何获取form的所有的表单元素

<form name="eg" action="index.html" method="post">
    <p>姓名:<input type="text" name="username" value=""></p>
    <p>籍贯:<select class="" name="province"><option value=""></option></select></p>
    <p>性别: <input type="radio" name="gender" value="1">男 <input type="radio" name="gender" value="2">女 </p>
    <p><input type="submit" value="提价"></p>
</form>
<!--原生 JS 实现方法: -->
<script type="text/javascript">
    document.forms['eg'].elements;
</script>

想通过 jQuery 获取到属于表单的所有的表单元素,如果 form 中没有 p 标签的话,可以通过 children 来获取到,然后用 each 去遍历,但是这里有 p 标签了,用 jQuery 就没办法实现原生的这种效果了

请问,jQuery 是不是根本就不支持这样使用?没有像 JS 那样的 elements?

阅读 23.8k
3 个回答

先拿到该form里的所有键值数组,再通过每个键回查对应元素。

$.map($('[name=eg]').serializeArray(), function(item, index){
    return $('[name='+item['name']+']');
});

希望是你需要的

$('form').find('input, select')
新手上路,请多包涵

$(eg.elements).each(function(){

        alert($(this).attr("name"));
        }
    );
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
宣传栏