尝试禁用除javascript中的一个输入控件之外的所有input = text字段

时间:2017-01-19 06:59:37

标签: javascript jquery

我想做的是这样的事情

$('input[type="text"],input[type="checkbox"],textarea').not(data-value="SHControl").attr('readonly','readonly');

请提供正确的语法来实现同样的目标。

4 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是在jQuery中使用.not的语法。你想要做的是:

$('input[type="text"],input[type="checkbox"],textarea').not('[data-value=SHControl]').attr('disabled', 'disabled');

在这里创建一个jsfiddle以显示它是如何工作的: https://jsfiddle.net/clausjensen/e24seukm/

答案 1 :(得分:0)

null
$('input[type="text"],input[type="checkbox"],textarea').each(function() {
  var el = $(this);

  el.prop("readonly", el.data("value") !== "SHControl");
})
*[readonly] {
  border: solid 1px red
}

复选框没有<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" /> <input type="text" data-value="SHControl" /> <textarea></textarea>状态,因为这只会阻止对readonly属性的操纵 - > Can HTML checkboxes be set to readonly?

答案 2 :(得分:0)

您好,这是添加只读的解决方案

 <style>
    *[readonly] {
  border: solid 1px red
}
    </style>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
 <script type="application/javascript">
 $(document).ready(function(e) {

    $('.test').each(function(index, element) {

        if($(this).attr('data-value')!="SHControl"){
            $(this).attr('readonly','readonly');
        }
    });
});
 </script>


 <input class="test" type="text" data-value="SHControl"/>
 <input class="test" type="checkbox" data-value="SHControl"/>

 <textarea class="test" data-value="SHControl" ></textarea>

 <input class="test" type="text" data-value="SHControl1"/>
 <input class="test" type="checkbox" data-value="SHControl1"/>

 <textarea class="test" data-value="SHControl1" ></textarea>

答案 3 :(得分:0)

正确的语法是:

$("input[type='text'], input[type='checkbox'], textarea").not("input[data-value='SHControl']").attr("readonly", "readonly");