1

我已经搜索了几个小时,但无法让我的代码的某个方面正常工作。

我有两个用于 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/

谢谢!

亲切的问候,

加里

编辑:其他解决方案的问题是他们不使用“如果”

4

3 回答 3

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();
}
//});
于 2013-04-29T14:19:23.113 回答
1

单击单选按钮时隐藏按钮的示例

  $(document).ready(function() {
    $("#do-you-like-pie-yes").click(function() {
    $(".show-hide-like-pie-no").hide();
    });
    });
于 2013-08-29T06:25:21.413 回答
0

已修复 - 仅使用了 change(function())

于 2013-05-01T08:48:04.333 回答