我现在一直在寻找几个小时,但却无法让我的代码工作。
我有一个div的两个单选按钮,我想要它,所以如果我选择是,它会显示一个滑块,如果我选择否,它会显示另一个。
下面是.html:
<fieldset data-role="controlgroup">
<legend>
<h>Do you like pie?</h>
</legend>
<input type="radio" name="do-you-like-pie" id="do-you-like-pie-yes" value="do-you-like-pie-yes" checked="checked" />
<label for="do-you-like-pie-yes">Yes</label>
<input type="radio" name="do-you-like-pie" id="do-you-like-pie-no" value="do-you-like-pie-no" />
<label for="do-you-like-pie-no">No</label>
</fieldset>
<!-- first slider -->
<div data-role="fieldcontain" class="show-hide-like-pie-no">
<label for="like-pie-yes-slider">
<h>How much?</h>
</label>
<input type="range" name="like-pie-yes-slider" id="like-pie-yes-slider" value="25" min="0" max="100" data-highlight="true" />
</div>
<!-- 2nd slider -->
<div data-role="fieldcontain" class="show-hide-like-pie-yes">
<label for="like-pie-no-slider">
<h>How litle?</h>
</label>
<input type="range" name="like-pie-no-slider" id="like-pie-no-slider" value="100" min="0" max="200" data-highlight="true" />
</div>
以下是.js:
function getAuto() {
if ($('#do-you-like-pie-yes').is(':checked')) {
return true;
} else {
return false;
}
}
//$('do-you-like-pie').on('click',function () {
// if ($('#do-you-like-pie-yes').is(':checked')) {
if (getAuto() == "true") {
$(".show-hide-like-pie-yes").show();
$(".show-hide-like-pie-no").hide();
} else {
$(".show-hide-like-pie-yes").hide();
$(".show-hide-like-pie-no").show();
}
//});
非常感谢任何帮助!
这是小提琴链接: http://jsfiddle.net/DjT5X/
谢谢!
亲切的问候,
加里
编辑:其他解决方案的问题在于他们不使用“if”
答案 0 :(得分:1)
getAuto()返回一个布尔值true / false。 在您的示例中,您测试字符串“true”
只需使用简单的if(getAuto())
//$('do-you-like-pie').on('click',function () {
// if ($('#do-you-like-pie-yes').is(':checked')) {
if (getAuto()) {
$(".show-hide-like-pie-yes").show();
$(".show-hide-like-pie-no").hide();
} else {
$(".show-hide-like-pie-yes").hide();
$(".show-hide-like-pie-no").show();
}
//});
答案 1 :(得分:1)
单击单选按钮上的隐藏按钮的示例示例
$(document).ready(function() {
$("#do-you-like-pie-yes").click(function() {
$(".show-hide-like-pie-no").hide();
});
});
答案 2 :(得分:0)
已修复 - 刚刚使用了更改(function())