gpt4 book ai didi

javascript - Jquery UI 选项卡-根据输入字段值使用下一个/上一个按钮推进选项卡

转载 作者:行者123 更新时间:2023-11-30 10:39:54 24 4
gpt4 key购买 nike

我正在使用仅通过上一个和下一个按钮操作的 Jquery UI 选项卡。在我的第一个选项卡中,我有选择框,为了前进,您必须从选择框中选择一个选项。我关心的是在 Tab#2 中我有三个输入字段,我希望用户在继续之前填写这些字段。

如何禁用“下一步”按钮,以便用户在前进到下一个选项卡之前被迫填写输入字段? EXAMPLE

JS-下一个/上一个

<script>
$(function() {

var $tabs = $('#tabs').tabs({
disabled: [0, 1]
});

$(".ui-tabs-panel").each(function(i) {

var totalSize = $(".ui-tabs-panel").size() - 1;

if (i != totalSize) {
next = i + 2;
$(this).append("<a href='#' class='next-tab mover' rel='" + next + "'>Next Page &#187;</a>");
}

if (i != 0) {
prev = i;
$(this).append("<a href='#' class='prev-tab mover' rel='" + prev + "'>&#171; Prev Page</a>");
}

});


$('.next-tab, .prev-tab').click(function() {
var tabIndex = $(this).attr("rel");
if (
/*(1)*/ $('#tabs').tabs('option', 'selected') > 0 ||
/*(2)*/ ($('.update.last').length > 0 && parseInt($('.update.last').val(), 10) > 0)
) {
$tabs.tabs('enable', tabIndex)
.tabs('select', tabIndex)
.tabs("option","disabled", [0, 1]);
}
return false;
});

});
</script>

HTML

<div id="tab-2" class="ui-tabs-panel ui-tabs-hide">
<label for="title"> Title: *</label>
<input type="text" id="title" name="title" class="" size="33" autocomplete="off" value="<? $title ?>"/><br>
<label for="price"> Price: *</label>
<input type="text" name="price" class="" size="8" maxlength="9" id="price" autocomplete="off" value="<? $price ?>" /><br>
<label for="description"> Description: *</label>
<textarea id="description" name="description" class=""><? $description ?></textarea><br />

</div>

最佳答案

只有在 nextprev 按钮上更改选项卡,如果

  • (A) prev 按钮已被点击或
  • (B) 当前选项卡是第一个,真正的最后一个选择存在并且选择了一个选项或
  • (C)​​ 当前选项卡是第二个选项卡,所有 ( trimmed) 文本值都不为空。

这是下一个未经测试的扩展:

$('.next-tab, .prev-tab').click(function() {
var tabIndex = $(this).attr("rel");
if (
$(this).hasClass('prev-tab') || /*(A)*/
(
$('#tabs').tabs('option', 'selected') == 0 && /*(B)*/
$('.update.last').length > 0 &&
parseInt($('.update.last').val(), 10) > 0
) ||
(
$('#tabs').tabs('option', 'selected') == 1 && /*(C)*/
$.trim($('#title').val()).length > 0 &&
$.trim($('#price').val()).length > 0 &&
$.trim($('#description').val()).length > 0
)
) {
$tabs.tabs('enable', tabIndex)
.tabs('select', tabIndex)
.tabs("option","disabled", [0, 1]);
}
return false;
});

===更新===

添加了特定于标签的警报:

$('.next-tab, .prev-tab').click(function() {
var prev = $(this).hasClass('prev-tab');
var currentTab = $('#tabs').tabs('option', 'selected');
if (
prev || /*(A)*/
(
currentTab == 0 && /*(B)*/
$('.update.last').length > 0 &&
parseInt($('.update.last').val(), 10) > 0
) ||
(
currentTab == 1 && /*(C)*/
$.trim($('#title').val()).length > 0 &&
$.trim($('#price').val()).length > 0 &&
$.trim($('#description').val()).length > 0
)
) {
var tabIndex = $(this).attr("rel");
$tabs.tabs('enable', tabIndex)
.tabs('select', tabIndex)
.tabs("option","disabled", [0, 1]);
} else if (!prev) {
switch (currentTab) {
case 0:
alert('Please choose an option.');
break;
case 1:
case 2:
alert('Please fill out all form inputs.');
break;
}
}
return false;
});

关于javascript - Jquery UI 选项卡-根据输入字段值使用下一个/上一个按钮推进选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11678745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com