【问题标题】:How to initialize textbox to hide for first display and still have jquery work如何初始化文本框以隐藏以进行首次显示并且仍然可以使用 jquery
【发布时间】:2009-09-02 22:04:36
【问题描述】:

所以我现在有以下 jquery 来隐藏或显示基于在 DropDownList 中选择的特定值的文本框。除了我需要始终隐藏弹出窗口的第一个显示之外,这是可行的。由于下拉列表中没有进行索引更改,因此以下内容不起作用。如果我将其编码为 visible="false",则它始终保持隐藏状态。我该如何解决这个问题?

<script language="javascript" type="text/javascript">

     var _CASE_RESERVE_ACTION = "317"; 
     var _LEGAL_RESERVE_ACTION = "318";

     function pageLoad() {

         $(".statusActionDDLCssClass").change(function() {
             var value = $(this).val();
             if (value == _CASE_RESERVE_ACTION || value == _LEGAL_RESERVE_ACTION) {
                 $(".statusActionAmountCssClass").attr("disabled", false);
                 $(".statusActionAmountCssClass").show();
             }
             else {
                 $(".statusActionAmountCssClass").attr("disabled", true);
                 $(".statusActionAmountCssClass").hide();
             }
         });
     }

</script>

谢谢你, 乔治亚州苏万尼的吉姆

【问题讨论】:

    标签: c# asp.net jquery


    【解决方案1】:

    如果你设置了

    visible=false
    

    .Net 不会渲染它。你可以这样做

    style="display:none;"
    

    并且 .Net 会正确呈现标签,但 CSS 会将其对用户隐藏。

    【讨论】:

      【解决方案2】:

      将以下内容添加到pageLoad函数

      function pageLoad(sender, args) {
      
      $("input.statusActionAmountCssClass").hide();
      
      .... rest of code .....
      
      }
      

      顺便说一句,我建议使用选择器$("input.statusActionAmountCssClass") 来获取包含对您的输入的引用的 jQuery 对象,否则 jQuery 将搜索 所有 元素以匹配 CSS 类.statusActionAmountCssClass

      编辑:

      还可以进行的另一个更改是使用 jQuery 的 data() 来存储两个全局变量

      $.data(window, "_CASE_RESERVE_ACTION","317"); 
      $.data(window, "_LEGAL_RESERVE_ACTION","318");
      

      然后当您需要它们时,只需将值缓存在函数内部的局部变量中

      function someFunctionThatNeedsGlobalVariableValues() {
      
          var caseReserveAction = $.data(window, "_CASE_RESERVE_ACTION");
          var legalReserveAction = $.data(window, "_LEGAL_RESERVE_ACTION");
      }
      

      这样,全局命名空间就不会被污染。有关data() 命令的更多信息,请参阅this answer

      【讨论】:

      • 也感谢您提供此解决方案。并感谢“输入”限制!吉姆
      猜你喜欢
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 2019-11-23
      • 2020-07-27
      • 2022-08-14
      • 1970-01-01
      相关资源
      最近更新 更多