Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
jQuery操作问题_Jquery_Asp.net_Html_Checkbox - Fatal编程技术网

jQuery操作问题

jQuery操作问题,jquery,asp.net,html,checkbox,Jquery,Asp.net,Html,Checkbox,我有一台复读机,内容如下 使用jQuery,我想如下操作模板:当我激活复选框时, 类为“entryDiv”的div的背景色应变为黄色。在相反的情况下,它应该变成蓝色。不知怎么的,我没有完成 <asp:Repeater ID="rep" runat="server"> <ItemTemplate> <div runat="server" class="entryDiv" id="entryDiv">

我有一台复读机,内容如下

使用jQuery,我想如下操作模板:当我激活复选框时, 类为“entryDiv”的div的背景色应变为黄色。在相反的情况下,它应该变成蓝色。不知怎么的,我没有完成

<asp:Repeater ID="rep" runat="server">
            <ItemTemplate>
                <div runat="server" class="entryDiv" id="entryDiv">
                <div runat="server" id="cbDiv" class="cbDiv">
                    <asp:CheckBox ID="isUsedCheckBox" CssClass="cbIsUsed" runat="server" />
                </div>
                </div>
            </ItemTemplate>
        </asp:Repeater>
试试这个:

$(document).ready(function() {     
    $('.cbIsUsed').change(function() {
        var $entryDiv = $(this).closest(".entryDiv");
        if(this.checked){
            $entryDiv.css({backgroundColor:"Yellow"});
        } else{
            $entryDiv.css({backgroundColor:"Blue"});
        }
    });  
}); 
工作示例:

尝试以下操作:

$(document).ready(function() {     
    $('.cbIsUsed').change(function() {
        var $entryDiv = $(this).closest(".entryDiv");
        if(this.checked){
            $entryDiv.css({backgroundColor:"Yellow"});
        } else{
            $entryDiv.css({backgroundColor:"Blue"});
        }
    });  
}); 

工作示例:

像这样的东西应该可以做到这一点。它会根据复选框是否选中,将最近的祖先元素(带有
class
“entryDiv”)的背景颜色更改为黄色或蓝色:

$(".cbIsUsed").click(function() {
    if(this.checked) {
        $(this).closest(".entryDiv").css("background-color", "yellow"); 
    }
    else {
        $(this).closest(".entryDiv").css("background-color", "blue"); 
    }
});

请参阅一个工作示例。

类似的操作应该可以实现这一目的。它会根据复选框是否选中,将最近的祖先元素(带有
class
“entryDiv”)的背景颜色更改为黄色或蓝色:

$(".cbIsUsed").click(function() {
    if(this.checked) {
        $(this).closest(".entryDiv").css("background-color", "yellow"); 
    }
    else {
        $(this).closest(".entryDiv").css("background-color", "blue"); 
    }
});
请参阅一个工作示例。

这个如何

$(document).ready(function() {
    $('.cbIsUsed').change(function() {
        if($(this).is(':checked')){
           $(this).closest('.entryDiv.').css('background', '#ffff00');
        }
        else{
           $(this).closest('.entryDiv.').css('background', '#0000ff');            
        }
    });
});
这个怎么样

$(document).ready(function() {
    $('.cbIsUsed').change(function() {
        if($(this).is(':checked')){
           $(this).closest('.entryDiv.').css('background', '#ffff00');
        }
        else{
           $(this).closest('.entryDiv.').css('background', '#0000ff');            
        }
    });
});
这将检查是否使用
if($(This).prop(“checked”)
选中复选框,然后使用
parents
方法获取类
.cbDiv
的父div,并根据选中的值将其背景颜色更改为蓝色或黄色

如果要使用CSS类执行此操作,可以使用
addClass
removeClass

el.addClass("yellow").removeClass("blue");
这将检查是否使用
if($(This).prop(“checked”)
选中复选框,然后使用
parents
方法获取类
.cbDiv
的父div,并根据选中的值将其背景颜色更改为蓝色或黄色

如果要使用CSS类执行此操作,可以使用
addClass
removeClass

el.addClass("yellow").removeClass("blue");
我们应该做到这一点

$(".cbIsUsed").change(function() {
  $(this).parents(".entryDiv").css("background", $(this).is(":checked") ? "yellow" : "");
});
我们应该做到这一点

$(".cbIsUsed").change(function() {
  $(this).parents(".entryDiv").css("background", $(this).is(":checked") ? "yellow" : "");
});



必须存在jQuery错误-解决方案仅适用于输入复选框,而不适用于.Net复选框控件。对于CheckBox,我必须使用控件id,这在这个环境中似乎是不可能的(repeater,jQuery不获取id)。

必须存在jQuery错误-解决方案只能使用input CheckBox,而不能使用.Net CheckBox控件。使用复选框时,我必须使用控件id,这在这个环境中似乎是不可能的(repeater,jQuery不获取id).

您在中继器的
ItemTemplate
中有一个固定id-请注意,如果您有多个标记,这将创建非法标记item@BrokenGlass:ASP.Net运行时将为其呈现的每个项目生成唯一的id,因此它将自动处理。@Cybernate-谢谢,不知何故我错过了
runat=“server”
part您在中继器的
ItemTemplate
中有一个固定id-请注意,如果您有多个标记,这将创建非法标记item@BrokenGlass:ASP.Net运行时将为其呈现的每个项目生成唯一的id,因此它将自动处理。@Cybernate-谢谢,不知何故我错过了
runat=“server”
part我的代码可能有问题,但我从未得到黄色div,只有蓝色:(@Jan:我不知道其他代码有什么问题。我发布了一个实例@,效果很好。不,对不起,你的解决方案不对。这一定是jQuery错误。请尝试重新生成我的代码并执行它,它不起作用。checked不一定是布尔值,尤其是在internet explorer中。这就是我使用的原因。is(“:checked”)在我的解决方案中。使用复选框控件,jQuery不起作用。我必须使用旧的输入控件使其运行。我的代码可能有问题,但我从未得到黄色div,只有蓝色:(@Jan:我不知道其他代码有什么问题。我发布了一个实例@,效果很好。不,对不起,你的解决方案不对。这一定是jQuery错误。请尝试重新生成我的代码并执行它,它不起作用。checked不一定是布尔值,尤其是在internet explorer中。这就是我使用的原因。is(“:checked”)在我的解决方案中。使用复选框控件,jQuery不起作用。我必须使用旧的输入控件来运行它。你看了我在答案中发布的链接了吗?它在那里工作得很好…所以你的代码中可能有其他原因导致了这一点。你看了我在答案中发布的链接了吗?它在那里工作得很好…所以可能有其他原因你的代码中有什么其他原因导致了这一点。这对你有用吗?我得到了一个脚本错误(尽管它似乎以某种方式工作)是的,我没有得到任何错误?错误确切地说是什么?对象或属性“prop”不受支持嗯,
prop
仅从版本1.6添加到jQuery中-您使用的是低于1.6的版本吗?这对您有用吗?我收到一个脚本错误(尽管它似乎不知怎么工作)是的,我没有收到任何错误?错误确切地说是什么?对象或属性“prop”不受支持嗯,
prop
仅从版本1.6添加到jQuery中-您使用的是低于1.6的版本吗?