我正在尝试加载一个新页面(实际上使用jQuery mobile的新div),具体取决于所选的单选按钮。
<div id="main_menu">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<div class="radioOne">
<input type="radio" name="entry" id="radio-choice-1" value="addEmail" checked="checked" />
<label for="radio-choice-1" class="boldWhite">Add Email Address</label>
</div>
<div id="entry_active_contests">
Active Contest(s)
</div>
<input type="radio" name="entry" id="radio-choice-2" value="contest1" />
<label for="radio-choice-2" class="boldWhite">Contest</label>
</fieldset>
</div>
</div>
脚本就像
$('.choose').click(function(){
if ($("input[@name='entry']:checked").val() == 'addEmail'){
window.location.hash ="first";
alert ('1');
}
else if ($("input[@name='entry']:checked").val() == 'contest1') {
window.location.hash ="contest";
alert ('2');
} else {
alert ('3');
}
});
所有我得到的都是警觉3.这是奇怪的,因为我做了一个小提琴,它工作正常。 http://jsfiddle.net/zkQHP/1/
为什么这对我的实际网站不起作用的任何想法?
答案 0 :(得分:0)
你需要这个吗?
else {
alert ('3');
}
为什么不将它作为两个if语句或if / else语句?
$('.choose').click(function(){
var val = $("input[@name='entry']:checked").val();
if(val == 'addEmail'){
window.location.hash ="first";
alert ('1');
}
if(val == 'contest1') {
window.location.hash ="contest";
alert ('2');
}
});
答案 1 :(得分:0)
这在JSFiddle中工作正常http://jsfiddle.net/kasdega/QMw9P/我同意epascarello的评论我会改变代码来阅读:
$('.choose').click(function() {
var valToCompare = $("input[name='entry']:checked").val();
if (valToCompare == 'addEmail') {
window.location.hash = "first";
alert('1');
} else if (valToCompare == 'contest1') {
window.location.hash = "contest";
alert('2');
} else {
alert('3');
}
});
答案 2 :(得分:-2)
您可以使用$(':checked')
轻松抓取所选的单选按钮。我不确定你为什么要跳过这些篮球。
$('.choose').click(function(){
console.log($(':checked').val());
// You have the selected radio button here
// Do stuff
});