如何动态获取输入类型=“text”的 name 属性并使用 JQuery 禁用或启用它

How to dynamically get a name attribute of input type="text" and disable or enable it using JQuery?

本文关键字:name 属性 JQuery 启用 text 动态 何动态 获取 类型 输入      更新时间:2023-09-26

谁能帮我获取文本字段名称属性并签入数组,然后相应地禁用或启用该字段。

 $("input").each(function () {
    //alert();
    var check = $(this).attr('name');
    $("input[name='noListStrings[0]']").prop("disabled", true);
    if (check != undefined && $("input[name='" + check + "']").is(":hidden") == false) {
        for (var i = 0; i < yesListStrings.length; i++) {
            //alert("yesLoop");
            if (check == yesListStrings[i]) {
                alert("yesList");
                $("input[name='" + $(this).attr('name') + "']").attr("disabled", false);
            }
        }
        for (var i = 0; i < noListStrings.length; i++) {
            //alert("noLoop");
            if (check == noListStrings[i]) {
                alert("nolist");
                $("input[name='" + check + "']").attr("disabled", true);
            }
        }
    }
});

我正在检查字段名称,如果它存在于该数组中,则我正在禁用或启用该字段。我试过使用$.inArray(fieldname,myarr)但它不起作用。所以请不要建议我使用$.inArray().

我刚刚为你的问题写了一段代码。试试吧。逻辑在所有输入^中都是相同的循环,然后在数组中搜索名称并禁用它。

yesListStrings = ['14','12'];
$('#click_me').on('click', function()
{
           $('input[type="text"]').each(function() 
            {
             if(jQuery.inArray(this.name,yesListStrings) != -1)
             {
                 $('input[name="'+this.name+'"]').attr('Disabled',true);
             }
    });                      
});

http://jsfiddle.net/z59kmm96/

在这种情况下,

我通常会在输入中添加id。您可以给出与名称相同的 id。$('#idname') 提供了更干净的访问。

$('input').each(function(){
    alert(this.name);
    //alert(this.id);
});