Reputation: 13
I have three div when I want to use checkbox should I have new div if I check car1 while car2 unchecked should I have red car but if check car1 while car2 checked should I have black car
<div id="carblack">
car black
</div>
<div id="carred" style="display:none">
car red
</div>
<div id="carblue" style="display:none">
car blue
</div>
<input type="checkbox" id="car1" name="vehicle" value="red" checked/>
<input type="checkbox" id="car2" name="vehicle1" value="blue" checked/>
$('#car1').change(function () {
if($(this).attr("checked")){
document.getElementById("carred").style.display = "block";
document.getElementById("carblack").style.display = "none";
} else{
document.getElementById("carblack").style.display = "block";
document.getElementById("carred").style.display = "none";
}
});
$('#car2').change(function () {
if($(this).attr("checked")){
document.getElementById("carblue").style.display = "block";
document.getElementById("carblack").style.display = "none";
} else{
document.getElementById("carblack").style.display = "block";
document.getElementById("carblue").style.display = "none";
}
});
Upvotes: 1
Views: 109
Reputation: 4215
$('#car1').change(function () {
if($(this).attr("checked")){
if($(this).next().attr("checked")){
document.getElementById("carblack").style.display = "block";
document.getElementById("carred").style.display = "none";
document.getElementById("carblue").style.display = "none";
}else{
document.getElementById("carred").style.display = "block";
document.getElementById("carblack").style.display = "none";
}
} else if($(this).next().attr("checked")){
document.getElementById("carblack").style.display = "none";
document.getElementById("carblue").style.display = "block";
}else{
document.getElementById("carblack").style.display = "block";
document.getElementById("carred").style.display = "none";
document.getElementById("carblue").style.display = "none"; }
});
$('#car2').change(function () {
if($(this).attr("checked")){
if($(this).prev().attr("checked")){
document.getElementById("carblack").style.display = "block";
document.getElementById("carred").style.display = "none";
document.getElementById("carblue").style.display = "none";
}else{
document.getElementById("carblue").style.display = "block";
document.getElementById("carblack").style.display = "none";
}
} else if($(this).prev().attr("checked")){
document.getElementById("carblack").style.display = "none";
document.getElementById("carred").style.display = "block";
}else{
document.getElementById("carblack").style.display = "block";
document.getElementById("carred").style.display = "none";
document.getElementById("carblue").style.display = "none"; }
});
Upvotes: 0
Reputation: 17288
2 radio checked or none of them - black?
$(function(){
var cars = $('div[id^="car"]'),
inputs = $('input[type="checkbox"]');
inputs.change(function(){
cars.hide();
if(inputs.filter(':checked').length === 1)
{
cars.filter('#car' + $(this).val()).show();
}
else {
cars.filter('#carblack').show();
}
});
});
Demo: http://jsfiddle.net/jAxHT/
Upvotes: 1