Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用焦点上的特定输入字段?_Javascript_Jquery - Fatal编程技术网

Javascript 如何禁用焦点上的特定输入字段?

Javascript 如何禁用焦点上的特定输入字段?,javascript,jquery,Javascript,Jquery,我有一个呈现表格的GridView。此表包含文本字段和输入字段 我编写了以下jQuery来禁用焦点上的文本字段。它工作得很好: $(function(){ $('input[type="text"]').live("focus", function() { var rowId = $(this).attr('id'); var inputField = $(this).attr('name'); alert(inputField.inde

我有一个呈现表格的GridView。此表包含文本字段和输入字段

我编写了以下jQuery来禁用焦点上的文本字段。它工作得很好:

$(function(){

    $('input[type="text"]').live("focus", function() {
        var rowId = $(this).attr('id');
        var inputField = $(this).attr('name');
        alert(inputField.indexOf('txtSearchValue'));
        $('tr').each(function(){
            var inputId = $(this).find('input[type="text"]').attr('id');
            var submitId = $(this).closest("tr").find('input[type="submit"]').attr('id');
            if(inputId != null && typeof inputId !== "undefined"){
                if(rowId !== inputId){               
                    $(this).find('input[type="text"]').attr("disabled", "disabled");
                    $(this).closest("tr").find('input[type="submit"]').attr("disabled","disabled");
                }
            }
        });                                
    });
});
我还有另一个文本字段,它不是生成表的一部分,但每次单击属于该表的文本字段时,它也会被禁用

这是一个文本字段:

<input id="ctl00_ContentMain_txtSearchValue" type="text" value="2222" name="ctl00$ContentMain$txtSearchValue"></input>

将函数附加到所有“输入[type=text]”。这意味着您页面上的所有输入字段都将具有此功能。你们可能想看看这个问题

您的查询应该如下所示:table>input[type=text]

更新

查看您的代码,我不确定您的系统是否符合您的实际需要。无论如何,这里有一个函数,它提供了表中包含inputText类的字段。然后你可以附加一个功能,只需弹出控制台-在Chrome F12中,你就会看到页面的选定元素

正如我所说,您需要逐级限制选择器:

$('td > .textInput').each(function(){
    console.log(this);
})

因此,您可以从所有td标记中选择所有.textInput类。如果您没有任何其他td标记,这将在不使用uwing$'.textInput'的情况下工作。如果有多个表,请使用要在选择器中使用的表的id,然后从该表下降到所需的级别。

将焦点事件附加到输入时,是否可以使用not filter?类似于`$'输入[type=text]'。而不是[name='value']。实时…嗯。。。你有代码,所以试试看。但理想情况下,您可以使用子选择器限制选择器。告诉您真相,我对jQuery非常陌生,有时很难理解我需要做什么才能让某些事情为我工作…:谢谢,您可以为您的表添加html吗?如果您觉得我的答案有用,请将其作为正确答案接受。
$('td > .textInput').each(function(){
    console.log(this);
})