jQuery操作问题
我有一台复读机,内容如下 使用jQuery,我想如下操作模板:当我激活复选框时, 类为“entryDiv”的div的背景色应变为黄色。在相反的情况下,它应该变成蓝色。不知怎么的,我没有完成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">
<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的版本吗?