使用Jquery后我遇到了问题。
我正在使用VS 2013,asp.net,VB。
我在页面上有一个面板,显示从gridview中选择行的时间。它包含几个文本框和一个下拉列表。我有一个jquery脚本,它隐藏/显示页面上的文本框,具体取决于从下拉列表中选择的内容。代码如下。
<script>
function jScript() {
$('#LowerText').hide();
$('#UpperText').hide();
$('#min').hide();
$('#max').hide();
$('#CommentsText').hide();
$('#ChangeStatusPnl').css({ "height": "200px" })
$('#AssetStatusChoice').change(function () {
if ($('#AssetStatusChoice').val() == "Fully Available")
{
$('#CommentsText').hide();
$('#LowerText').hide();
$('#UpperText').hide();
$('#min').hide();
$('#max').hide();
$('#ChangeStatusPnl').css({ "height": "200px" })
}
if ($('#AssetStatusChoice').val() == "Restricted")
{
$('#LowerText').show();
$('#UpperText').show();
$('#CommentsText').show();
$('#min').show();
$('#max').show();
$('#ChangeStatusPnl').css({ "height": "340px" })
}
if ($('#AssetStatusChoice').val() == "Unavailable")
{
$('#LowerText').hide();
$('#UpperText').hide();
$('#min').hide();
$('#max').hide();
$('#CommentsText').show();
$('#ChangeStatusPnl').css({ "height": "280px" })
}
});
};
</script>
这很好用。
当用户单击面板上的提交按钮时,在文本框中输入的数据将保存到MS SQL DB。我为每个文本框添加了一些代码来验证添加到它的内容(因此它不是空白或有字母应该有数字)。此代码的示例如下所示。如果出现错误,它会更改边框的颜色。此外,我还添加了一行代码,以便在存在验证问题时停止SQL存储过程。
Dim isValid As Boolean
isValid = True
Dim intValidate As Integer
If Not Integer.TryParse(TimeTextHrs.Text, intValidate) Or TimeTextHrs.Text = "" Then
AssetPopUp.Show()
TimeTextHrs.BorderColor = Drawing.Color.Red
isValid = False
End If
我的问题是,当用户点击面板中的提交时,由于在下拉列表中选择的内容现在可见的框消失,就像重新加载面板一样。我需要他们保持可见。如果您查看上面的JQuery,您可以看到从下拉列表3文本框显示中选择受限制的时间。当用户点击提交这些消失时。
希望一切都有意义。
答案 0 :(得分:0)
当页面加载以设置可见性时,您将不得不运行一些js。
您还应该考虑重构此逻辑,以使其更易于维护。
$(function() {
if ($('#AssetStatusChoice').val() == "Fully Available")
{
$('#CommentsText').hide();
$('#LowerText').hide();
$('#UpperText').hide();
$('#min').hide();
$('#max').hide();
$('#ChangeStatusPnl').css({ "height": "200px" })
}
if ($('#AssetStatusChoice').val() == "Restricted")
{
$('#LowerText').show();
$('#UpperText').show();
$('#CommentsText').show();
$('#min').show();
$('#max').show();
$('#ChangeStatusPnl').css({ "height": "340px" })
}
if ($('#AssetStatusChoice').val() == "Unavailable")
{
$('#LowerText').hide();
$('#UpperText').hide();
$('#min').hide();
$('#max').hide();
$('#CommentsText').show();
$('#ChangeStatusPnl').css({ "height": "280px" })
}
});