cal*_*ebo 0 html javascript jquery radio-button
我正在尝试根据select单选按钮的值切换具有相同数据属性值的多个DIV.
但我不确定下面的代码有什么问题.
默认情况下,始终在加载时选择第一个单选按钮,如何触发它以显示匹配值的3个DIV?
加价:
<nav id="gift-subs-options">
<ul>
<li class="selected">
<label>
<input type="radio" name="subscription-period" value="3mths" checked />
<span class="period">3 months</span>
</label>
</li>
<li>
<label>
<input type="radio" name="subscription-period" value="6mths" />
<span class="period">6 months</span>
</label>
</li>
<li>
<label>
<input type="radio" name="subscription-period" value="12mths" />
<span class="period">12 months</span>
</label>
</li>
</ul>
</nav>
<div class="prices" data-period="3mths">A 1</div>
<div class="prices" data-period="6mths">B 1</div>
<div class="prices" data-period="12mths">C 1</div>
<div class="prices" data-period="3mths">A 2</div>
<div class="prices" data-period="6mths">B 2</div>
<div class="prices" data-period="12mths">C 2</div>
<div class="prices" data-period="3mths">A 2</div>
<div class="prices" data-period="6mths">B 2</div>
<div class="prices" data-period="12mths">C 3</div>
Run Code Online (Sandbox Code Playgroud)
JS:
$(document).ready(function() {
$(".prices").hide();
$("input[name$='subscription-period']").click(function() {
var test = $(this).val();
$(".prices[data-period]='" + test + "'").show();
});
});
Run Code Online (Sandbox Code Playgroud)
如果你想测试小提琴:http: //jsfiddle.net/calebo/cRKwY/
你给出的是语法错误.你需要这样:
$(".prices[data-period='" + test + "']").show();
Run Code Online (Sandbox Code Playgroud)
在刷新之前还要隐藏其他divs.
$(".prices").hide();
Run Code Online (Sandbox Code Playgroud)
完整代码:
$(document).ready(function() {
$(".prices").hide();
$("input[name$='subscription-period']").click(function() {
var test = $(this).val();
$(".prices").hide();
$(".prices[data-period='" + test + "']").show();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9743 次 |
| 最近记录: |