我创建了一个带有telerik标签的表单。表单在多个选项卡上分割。当存在验证错误时,当前选项卡(即使没有错误)保持选中状态。是否可以选择第一个选项卡并显示错误。我已经:
<script type="text/javascript">
$(document).ready(function () {
$("#myForm").submit(function () {
var tabStrip = $('.t-widget.t-tabstrip.t-header').data('tTabStrip');
});
});
</script>
我无法弄清楚如何通过选项卡进行迭代并选择验证错误所在的选项卡。
答案 0 :(得分:2)
$(function () {
function gotoFirstError() {
var $firstError = $('#myForm .input-validation-error').first();
if ($firstError.size() === 1) {
var id = $firstError.parents('.t-content').attr('id');
var tabStrip = $("#TabStrip").data("tTabStrip");
tabStrip.select($(".t-item", tabStrip.element)[parseInt(id.replace(/TabStrip-/, '')) - 1]);
} else {
console.log('no error found');
}
}
setTimeout(function () {
gotoFirstError();
}, 0);
$('#myForm').bind("invalid-form.validate", function () {
$('#myForm').validate().showErrors();
gotoFirstError();
});
});
答案 1 :(得分:0)
Telerik在网站上有这个例子:
function SelectItem() {
var tabStrip = $("#TabStrip").data("tTabStrip");
tabStrip.select($(".t-item", tabStrip.element)[0]);
}
此处的其他示例:http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-tabstrip-client-api-and-events.html
HTH。