如何通过jQuery/javascript在ASP.NET中继器中选择下拉控件?

如何通过jQuery/javascript在ASP.NET中继器中选择下拉控件?,jquery,asp.net,Jquery,Asp.net,我有一个ASP.NET Repeater控件,带有下拉列表(值为1、2、3)和文本框。因此,使用下拉列表和文本框在每个ItemTemplate中生成/创建多个代码实例 我试图在jQuery/javascript中创建一个函数,每当下拉列表中的值被选择为1时,textbox都应该被禁用。现在这个下拉列表可以是任何人,比如说第一、第三或第五。。和重复文本框应被禁用 有谁能指导我在中继器中的每一行都能做到这一点 谢谢 试试这个 $('.dropdown').change(function() {

我有一个ASP.NET Repeater控件,带有下拉列表(值为1、2、3)和文本框。因此,使用下拉列表和文本框在每个ItemTemplate中生成/创建多个代码实例

我试图在jQuery/javascript中创建一个函数,每当下拉列表中的值被选择为1时,textbox都应该被禁用。现在这个下拉列表可以是任何人,比如说第一、第三或第五。。和重复文本框应被禁用

有谁能指导我在中继器中的每一行都能做到这一点

谢谢

试试这个

$('.dropdown').change(function()
{
   //include condition to determine "if dropdown is selected to be 1"

   var $row = $(this).parents('tr:first'); //find the row in which this dropdown is
   if($(this).val() == 1)
   {

     $row.find('.textbox:first').attr('disabled','disabled');​​​​​​ //assuming you put a class on your textbox
     //$row.find('.textbox:first').attr('disabled','true');​​​​​​
     //$row.find('.textbox:first').prop('disabled','true');​​​​​​
   }
   else
       $row.find('.textbox:first').attr('enabled','true'); //assuming you put a class on your textbox
});

如果您的中继器呈现为表。那你可以试试

$("select").change(function(){
    var _this = $(this); 
    var parentRow = _this.closest('tr');
    if(_this.val() == "1"){
        parentRow.find("input[type=text]").prop("disabled", true);
    }else {
        parentRow.find("input[type=text]").prop("disabled", false);
    }
});

我试过这段代码,但它只在我们只有一个转发器项目时起作用,在我添加第二个项目时,它停止工作。此外,我的文本框中没有类,我们没有其他方法访问它吗?
input[type=text]
就像@Yograj在他的答案中发布的那样。向文本框中添加类需要什么?我这样做是为了保持我的jQuery SimpleTanks,我不想输入[type=text],因为将来可能会在repeater项中添加另一个文本框,那么这两个都将被禁用。正如我所提到的,我尝试了这段代码,但它只在我们只有一个转发器项时才起作用,在我添加第二个转发器项的那一刻,它停止工作。调试,检查浏览器控制台是否有错误,在函数中输入一个警报以输出
$(this)
,并且不要忘记将所有内容包装在
$(document).ready()
中,如果您粘贴了标记(特别是当你有两个转发器项目时)如建议的那样,它会更容易提供帮助