我正在做一个多步骤表单(表单向导),我已将表单拆分为5个部分...所以mi first div是这样的:
<div class="data-1" style="display: block; ">
<h3>Data</h3>
<fieldset class="inputs">
<ol>
// 5 text inputs here
</ol>
</fieldset>
</div>
通过jquery我试图抓住每个div的5个输入(其他div也有复选框,单选按钮)这样做
$(".data-1 :input").val();
为了知道每个div的输入值...但似乎我必须迭代div输入。
有没有办法阻止任何空输入?或者是否有插件可以执行此操作?
答案 0 :(得分:0)
看看jQuery.Validate
http://docs.jquery.com/Plugins/Validation
<script>
$(document).ready(function(){
$("#myForm").validate();
});
</script>
<form id="myForm" method="post">
<p>
<label for="cname">Name</label>
<input id="cname" name="name" size="25" class="required" minlength="2" />
</p>
<p>
<label for="curl">URL</label>
<input id="curl" name="url" size="25" class="url" value="" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
答案 1 :(得分:0)
这可能就像你正在寻找的......
$(".data-1 :input").each( function() {
var val = $.trim($(this).val());
if ( val != '' ) {
// do stuff here...
}
});
答案 2 :(得分:0)
代码
$(".data-1 :input").val();
...将为您提供 first “。data-1”div
中 first 输入元素的值。它不会给你所有这些。
要获取所有这些值,您可以使用map
(通常后跟get
):
var values = $(".data-1 :input").map(function() {
return $(this).val();
}).get();
这将为您提供一系列值。
上面创建的数组将包含空值。如果你想省略空值,只需从它们的迭代器函数返回undefined
,它们就会被省略:
var values = $(".data-1 :input").map(function() {
var val = $(this).val();
return val ? val : undefined;
}).get();
答案 3 :(得分:-1)
$(".data-1 :input:not(:empty)").each(function()
{
// Iterating the not empty inputs
// $(this).val() contains the value of the current input
});