如何在jquery中更改以下代码,以便当有人选择Archived (id = radio3)时,选项2被隐藏,而选项1 (id = radio5)被选中,选项的背景是否会改变?
连警报都不工作了?
$("input[@name='radios2']").change(function(){
alert("12");
});
发布于 2018-08-13 05:45:39
没有</br>
,取而代之的是使用CSS边距,并且您不需要在name
前面使用@
。此外,您的<label>
的for
属性也是错误的。
$(function () {
$("input[name='radios']").change(function() {
if (this.value == "true") {
$("label[for='radio5']").addClass("hidden");
$("#radio4").prop("checked", true);
} else {
$("label[for='radio5']").removeClass("hidden");
$("#radio4, #radio5").prop("checked", false);
}
});
$("input[name='radios2']").change(function() {
alert(this.value);
});
});
.radio-toolbar {
margin: 15px 0;
}
.radio-toolbar input[type="radio"] {
display: none;
}
.radio-toolbar label {
display: inline-block;
background-color: #ddd;
padding: 4px 11px;
font-family: Arial;
font-size: 16px;
}
.radio-toolbar label.hidden {
display: none;
}
.radio-toolbar input[type="radio"]:checked+label {
background-color: #bbb;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio-toolbar">
<input type="radio" id="radio2" name="radios" value="false">
<label for="radio2">Open</label>
<input type="radio" id="radio3" name="radios" value="true">
<label for="radio3">Archived</label>
</div>
<div class="radio-toolbar">
<input type="radio" id="radio4" name="radios2" value="false">
<label for="radio4">Option 1</label>
<input type="radio" id="radio5" name="radios2" value="true">
<label for="radio5">Option 2</label>
</div>
更新和对您的评论的回答:
谢谢,我怎样才能添加上面的代码,这样我就可以在选择存档后尝试隐藏“选项2”并将“选项1”显示为选中?
使用以下代码:
$("input[name='radios']").change(function() {
if (this.value == "true") {
$("label[for='radio5']").addClass("hidden");
$("#radio4").prop("checked", true);
} else {
$("label[for='radio5']").removeClass("hidden");
$("#radio4, #radio5").prop("checked", false);
}
});
只有一个运行代码片段,没有编辑吗?
编辑代码片段将到来,如果你拥有这篇文章。例如,尝试编辑您的问题并使用Ctrl + M添加代码片段。
https://stackoverflow.com/questions/51813094
复制相似问题