【问题标题】:jquery masked input on loaded contentjquery屏蔽了加载内容的输入
【发布时间】:2011-11-01 20:44:28
【问题描述】:

所以我有一个 joomla!部分由基于用户的功能生成的页面。因此,我需要使用“屏蔽输入插件”的部分表单是通过页面加载时的函数加载的。我遇到的问题是,在页面上的标准 HTML 字段上,插件工作正常,但在我的 php 函数生成的字段上,字段锁定并且不允许任何输入。我的猜测是,在 jquery 插件触发后,php 函数拉入表单是一个问题,但我尝试将 .mask 调用放在 $(document).ready 中,但没有运气。

这是一个sn-p...

jQuery(function($){
  $("#subNumber").mask("(999) 999-9999");
$(".numFix").mask("(999) 999-9999");
});

这工作-->

<form name = "subAct" id = "subAct" method="post">
<div class="col1"><input class="subaccountname" name="subName" type="text" id="subName"/></div>
<div class="col2"><input class="subaccountnumber" name="subNumber" type="text" id = "subNumber"/></div>
<div class="col3"><a href="javascript:submit()" class="buttonaddsub" id ="addSubBut">Add a New Account</a></div>
</form>

这个没有 --> 这个函数 -->

<?php dashboardFunction::displaySubAccount($uid) ?>

以这种形式加载 -->

<form name = "add_reg_num_<?php echo $pin ?>" id = "add_reg_num_<?php echo $pin ?>" method="post">
<div class="regisnumberadd"><input name="regNum" type="text" class = "numFix" />
<input name="regNumPin" type="hidden" value = "<?php echo $pin ?>"/>
</div>
<div class="clear"></div>
<div class="addregisnum"><a href="javascript:;" onClick="subRegNum(<?php echo $pin ?>)">Add Number</a></div>
</form>

【问题讨论】:

    标签: jquery plugins maskedinput


    【解决方案1】:

    您需要做的就是使用 jQuery .on 方法附加一个事件绑定,任何动态创建的项目都将连接到该事件。

    我在这里回答了类似的问题https://stackoverflow.com/a/10203361/12442

    【讨论】:

      【解决方案2】:

      我认为由于内容是动态加载的,因此您需要使用 .live

      我不知道如何使用 .live 和 .mask。

      还有一个选择。您可以将.mask代码放在动态加载的回调函数中。

      $("#dynamicContent").load("loadFromMe.php",function(){
          $("#subNumber").mask("(999) 999-9999");
          $(".numFix").mask("(999) 999-9999");
      });
      

      【讨论】:

        【解决方案3】:

        动态 Jquery 输入掩码解决方案(以编程方式进行 swicth 掩码)

        $(document).ready(function () {
                $("[data-mask]").inputmask();
                // Do something exciting          
                var prm = Sys.WebForms.PageRequestManager.getInstance();
        
                prm.add_endRequest(function () {
                    // re-bind your jQuery events here
                    $("[data-mask]").inputmask();                
                });
        
            });
        
        
                    if (is_loose == "True") {                    
                        $("#it_qty").removeAttr("data-inputmask","'mask': '9{0,20}'");
                        $("#it_qty").attr("data-inputmask", "'mask': '9{0,20}.9{0,2}'");
        
                        $("[data-mask]").inputmask();
        
                    } else {
        
                        $("#it_qty").removeAttr("data-inputmask", "'mask': '9{0,20}.9{0,2}'");
                        $("#it_qty").attr("data-inputmask", "'mask': '9{0,20}'");
                        $("[data-mask]").inputmask();
                    }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多