JQuery:检查单选按钮值显示为空字符串

时间:2014-01-18 05:13:07

标签: jquery radio-button

我有以下HTML和JavaScript代码

HTML:

<label for="oneWay">One Way</label>
<input type="radio" id="oneWay" name="radioOneWayOrReturn" value="oneWay" checked="checked" autocomplete="off" />   
<label for="return">Return</label> 
<input type="radio" id="simpleReturn" name="radioOneWayOrReturn" value="return" autocomplete="off" />

JavaScript的:

function getOneWayOrReturn() {
    return $('input[name="radioOneWayOrReturn"]:checked').val();
}

问题是,当我尝试记录getOneWayOrReturn()的结果时,它显示该值为空字符串。我正在使用JQuery 1.10.3。这真的令人沮丧,因为它应该工作但不是。我可以使用$(input[name="radioOneWayOrReturn"].prop('id')获得已检查单选按钮的ID,所以我知道它找到了正确的按钮,但它不会给我价值。

(不,我不能只使用id,因为还有另一个按钮,其值也是id)。

2 个答案:

答案 0 :(得分:3)

我应该为此给自己一个-1。 : - (

单选按钮设置在jqueryUi对话框中,每次打开它时,我都会调用它:

$('#dialog').find('input').val('');

我已经改变了它,现在它改为:

$('#dialog').find('input').not(':radio').val('');

通常情况下,我想通过删除这个问题来摆脱羞辱,但我希望有人会在未来以某种方式偶然发现并从错误中吸取教训。

答案 1 :(得分:0)

看看这个1: - FIDDLE

function getOneWayOrReturn() {
    var val1 = $('input[name="radioOneWayOrReturn"]:checked').val();
    return val1;
}

$('input[type=radio]').change(function () {
    var val1 = getOneWayOrReturn();
    alert(val1);
});