【问题标题】:Make all inputs with class readOnly使用类 readOnly 进行所有输入
【发布时间】:2017-07-18 14:43:26
【问题描述】:

所以我正在构建一个拖放表单构建器,我想在所有输入上设置一个特定字段只读。 这个可以

  • 选择下拉菜单
  • 文字输入
  • 数字输入
  • 日期输入

日期输入

所有这些输入都是动态生成的。

我看过 How can i add readonly attribute on all input fields using javascript? & How to set readonly property to false on multiple textboxes with same class?

但没有人仅通过类名使名称输入为只读。

我目前正在这样做:

$("#editClick").on('click', function(){
 $('.myNameClass').attr('readonly', false);

});

但是每次页面上出现新字段时都需要一种方法来触发它(即检查类的长度是否增加)

类似:

if ($(".myNameClass")[0]).increases -> fire event-> and every time it does

【问题讨论】:

  • 您的问题缺少一个重要的部分 - 您实际上想要做什么......?也就是说,要使输入成为只读,您只需在其上调用 prop('readonly', true),但请确保在 元素已附加到 DOM 之后执行此操作
  • 至少向我们展示一些您尝试过的 HTML + CSS + 可能的 Javascript,而不仅仅是一张图片。还要清楚它的作用与您希望它做什么。
  • 您的第二个链接准确显示了您的要求...您不明白什么?
  • 更新了那里的信息。

标签: javascript jquery html formbuilder


【解决方案1】:

你可以用这个来做到这一点

jQuery

<script>
    $(function () {
       $('input[type="text"], textarea').attr('readonly','readonly');

    });
</script>

或将其用于只读模式

jQuery 1.9+

 $(function () {
         $('input[type="text"], textarea').prop("readonly",true);

    });

并移除只读模式

jQuery

     $(function () {
         $('input[type="text"], textarea').removeAttr('readonly');

    });

</script>

或者用这个来移除

jQuery 1.9+

 $(function () {
         $('input[type="text"], textarea').prop("readonly",false);

    });

【讨论】:

    猜你喜欢
    • 2014-04-16
    • 2011-12-05
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 2015-06-08
    • 1970-01-01
    相关资源
    最近更新 更多