Javascript 更改输入元素的样式';父母
我想更改输入元素的父元素样式,当它被选中时Javascript 更改输入元素的样式';父母,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想更改输入元素的父元素样式,当它被选中时 <div> <!--- this is the parent element ---> <input type="radio" data-dynamic-update="1" name="virtuemart_paymentmethod_id" id="payment_id_3" value="3" checked="checked"> </div> 但是它不起作用。。我怎样才能做到这一点?拿起
<div> <!--- this is the parent element --->
<input type="radio" data-dynamic-update="1" name="virtuemart_paymentmethod_id" id="payment_id_3" value="3" checked="checked">
</div>
但是它不起作用。。我怎样才能做到这一点?拿起小提琴:
获取元素对象时出现问题:
$('#payment_id_3').click(function(){
$('#payment_id_3').parent().css({"background-color": "green", "border": "1px solid green"});
});
您应该只对所有对象使用jQuery,如下所示:
var x = $("#payment_id_3");
x.click(function(){
$(this).parent().css({"background-color": "green", "border": "1px solid green"});
});
如果您使用的是jQuery,请尝试以下操作:
$('#payment_id_3').on("change", function(){
$(this).parent().css({"background-color": "green", "border": "1px solid green"});
});
下面是一个在选中复选框的情况下更改div的示例
$('#payment_id_3').click(function(){
if($(this).prop('checked')){ // if checked
$(this).parents('div').css('background-color','red');
}
else{ // if not checked
$(this).parents('div').css('background-color','teal');
}
})
在这里,您可以查看正在进行的操作。这是您可以执行的操作。此示例代码演示如何使用多个单选按钮并更改父级
div
的样式
#母公司{
宽度:100px;
高度:200px;
背景颜色:橙色;
}
绿色
粉红色
紫色
红色
$(“#父输入[type=radio]”)。在('click',function()上{
var theId=$(this.attr('id');
如果(theId=“绿色”)
{
$(“#父项”).css({“背景色”:“绿色”});
}
否则,如果(theId==“粉色”)
{
$(“#父项”).css({“背景色”:“粉色”});
}
else if(theId==“紫色”)
{
$(“#父项”).css({“背景色”:“紫色”});
}
其他的
{
$(“#父项”).css({“背景色”:“红色”});
}
})
解决方案更新为“更改”事件和“文档准备就绪”事件:
注意:我已将“收音机”改为复选框。
编辑:更新了JSFIDLE链接和代码谢谢。它起作用了。。“onload”而不是“click”怎么样?您可以使用
更改单击。on('change',
并使用触发器触发任何事件$('payment_id_3')。触发器('change');
请参见工作示例
$('#payment_id_3').click(function(){
if($(this).prop('checked')){ // if checked
$(this).parents('div').css('background-color','red');
}
else{ // if not checked
$(this).parents('div').css('background-color','teal');
}
})
$(document).ready(function() {
$('#payment_id_3').on('change',function(){
if (this.checked) { //Checked CSS
$('#payment_id_3').parent().css({
'background-color': 'green',
'border': '1px solid green'
});
} else { // unchecked CSS
$('#payment_id_3').parent().css({
'background-color': 'red',
'border': '1px solid black'
});
}
});
$('#payment_id_3').trigger('change');
});