这是我的第一个问题,所以请耐心等待。
我使用 jquery-validate 和引导向导的组合。除了忽略选项外,一切正常。我需要使用它来包含隐藏的复选框。如果您只在忽略选项中添加任何内容,则整个引导向导将不再工作。但没有显示错误。
看我的小提琴:https ://jsfiddle.net/danzhtyn/1/
HTML:
<div class="container">
<div id="content">
<form name="ad" method="post" action="" id="ad_form" role="form" enctype="multipart/form-data">
<div id="rootwizard">
<div class="navbar">
<div class="navbar-inner">
<ul style="display: inline-block;">
<li><a href="#tab1" data-toggle="tab">Test 1</a></li>
<li><a href="#tab2" data-toggle="tab">Test 2</a></li>
</ul>
</div>
</div>
<div id="bar" class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
</div>
<div class="tab-content">
<div class="tab-pane" id="tab1">
<div class="form-group">
<label class="control-label required" for="ad_adtext">Anzeigentext</label>
<textarea id="ad_adtext" name="ad[adtext]" required="required" rows="15" class="form-control"></textarea>
</div>
</div>
<div class="tab-pane" id="tab2">
<div class="form-group">
<input type="checkbox" id="ad_categories_14" name="ad[categories][]" class="hidden" value="14" /> Computer
<input type="checkbox" id="ad_categories_14" name="ad[categories][]" class="hidden" value="15" /> Greets
</div>
</div>
</div>
</div>
</form>
</div>
JS:
$(document).ready(function() {
var $form = $("#ad_form"),
$validator = $form.validate({
ignore: ":disabled",
rules: {
"ad[adtext]": {
required: true
},
"ad[categories][]": {
required: true,
minlength: 1
},
},
messages: {
"ad[adtext]": "Dies ist ein Pflichtfeld! Bitte geben Sie einen Wert an.",
"ad[category][]": "Dies ist ein Pflichtfeld! Bitte wählen Sie mindestens eine Rubrik aus.",
}
});
$('#rootwizard').bootstrapWizard({
onNext: function(tab, navigation, index) {
var $valid = $form.valid();
if (!$valid) {
$validator.focusInvalid();
return false;
}
},
onTabShow: function(tab, navigation, index) {
var $total = navigation.find('li').length;
var $current = index + 1;
var $percent = ($current / $total) * 100;
$('#rootwizard .progress-bar').css({
width: $percent + '%'
});
},
onTabChange: function(tab, navigation, index) {
var $valid = $form.valid();
if (!$valid) {
$validator.focusInvalid();
return false;
}
}
});
});
删除ignore: ":disabled"
,一切正常。
有什么建议么?