【问题标题】:How to show or not show required field aestrisk when checkbox is selected in ASP.net page在 ASP.net 页面中选中复选框时如何显示或不显示必填字段星号
【发布时间】:2014-11-25 22:18:18
【问题描述】:

为此我必须刷新页面?如果是这样,那么我必须保留所有用户输入的详细信息。 请问有什么简单优雅的解决方案吗?

【问题讨论】:

  • 为什么这件事被否决了?

标签: javascript c# html asp.net


【解决方案1】:

假设您有一个包含星号的跨度,您可以简单地使用 JQuery 在清除复选框时清除文本。

$("#idOfCheckbox").click(function() {

   if(this.is(':checked') == true) {
     $("#idOfAsterisk").text("");
   }
});

【讨论】:

  • 不刷新页面怎么会去掉星号?
  • 您的代码运行良好,但我仍然想知道页面如何显示或不显示 * 没有刷新页面?阿贾克斯?
  • @kneethan 嗨,很抱歉等待,可能在不同的时区。 JQuery 和 javascript 是动态语言,.click() 会在用户“点击”该元素时执行函数代码。
  • 感谢您的解释,如果您有时间,请检查我的其他问题,因为这些问题没有 100% 有效,stackoverflow.com/questions/26173655/…
【解决方案2】:

基本上你想在那个控件上切换一个 CSS 类。因此,您可以使用以下示例:

<asp:Label ID="Label1" runat="server" Text="Label" ClientIDMode="Static" EnableViewState="True"></asp:Label>
<input type="checkbox" id="checkbox1" /> <br />

然后是一些 CSS:

/* Required Field Asterix Suffix */

.form-field-required:after {
    color: red;
    content: " *";
    font-weight: bold;
}

然后是一些 JS 来做切换:

$(document).ready(function() {

$('#checkbox1').click(function() {
    if (!$(this).is(':checked')) {
        $('#Label1').addClass('form-field-required');
    else
       $('#Label1').removeClass('form-field-required');
    }
});

});

在 PostBack 上,因为您保留了 Label1 的视图状态,所以您仍然会根据需要拥有星号。

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2015-12-10
    • 2016-03-13
    • 1970-01-01
    • 2016-09-06
    • 2010-11-19
    相关资源
    最近更新 更多