2013-04-29 114 views
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/

谢谢!

亲切的问候,

加里

编辑:与其他解决方案的麻烦是,他们没有使用“如果”

+0

所以我有一个解决方案:http://jsfiddle.net/DjT5X/1/但是,必须有一种方法来整理这件事吗?谢谢 – Gary 2013-04-29 14:36:41

回答

0

固定 - 只是用来改变(函数())

1

的getAuto()返回一个布尔真/假。 在你的榜样,你的测试字符串 “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(); 
} 
//}); 
+0

嗨,谢谢你的回复。 不幸的是,这只适用于“运行”,它不会改变,当我点击。 希望是,当我点击是,它显示滑块1,当我点击否,它显示滑块2. 谢谢。 – Gary 2013-04-29 14:23:06

1

样品例如隐藏单选按钮上的按钮点击

$(document).ready(function() { 
    $("#do-you-like-pie-yes").click(function() { 
    $(".show-hide-like-pie-no").hide(); 
    }); 
    });