0

恐怕我几乎是一个完全的 jquery 菜鸟!我确信这是一件非常简单的事情,但我似乎无法解决。

我正在尝试获取动态的选定单选按钮的值。

HTML...

<div id="holder" class="">
<table id="qual-holder" class="table table-striped qual-table">
    <thead>
        <tr>
            <th>Sector</th>
            <th>Qualification Title</th>
            <th>Cost</th>
            <th>Confirm</th>
        </tr>
    </thead>
    <tr class="sector_qual">
        <td>OM207</td>
        <td>Diploma in Children and Young People's Workforce Level 3</td>
        <td>0</td>
        <td>
            <input name="qualification" id="28" type="radio" value="28" class="">
        </td>
    </tr>
    <tr class="sector_qual">
        <td>OM207</td>
        <td>Diploma in Children and Young People's Workforce</td>
        <td>0</td>
        <td>
            <input name="qualification" id="29" type="radio" value="29" class="">
        </td>
    </tr>
    <tbody id="sector_quals"></tbody>
</table>
<div class="control-group spacing-top">
    <label for="loan_value" class="control-label required">Amount to Borrow</label>
    <div class="controls">
        <div class="input-prepend"> <span class="add-on"><i class="icon-gbp"></i></span>

            <input class="input-small" placeholder="" name="loan_value" type="text" value="" id="loan_value">
        </div>
    </div>
</div>

还有我的(垃圾)jQuery ......

function updateAmount() {
    var selectedValue = "";
    var selected = $("input:radio[name='qualification']:checked");
    if (selected.length > 0) {
        selectedValue = selected.val();
        alert('The radio button has been selected and the value is.' + selectedValue);
    }

}

updateAmount();

有人可以告诉我我做错了什么吗?

谢谢

4

3 回答 3

6

您调用 updateAmount 太早了,绑定一个点击事件并将回调作为 updateAmount 或change作为烘焙提及的事件,因为该事件仅在实际选择发生变化时才会触发,而不是仅仅被点击。

jQuery(document).on("click",'input:radio[name=qualification]',updateAmount);

.on功能使当前单选按钮和任何新单选按钮的点击事件被触发

jQuery.on参考

jQueryclick参考

jQuerychange参考

于 2013-07-26T11:37:17.763 回答
2

您的代码实际上很好。问题是你在哪里打电话updateAmount()。如果您希望在用户选择选项时调用它,请从change()事件中调用它。像这样:

$("input:radio[name='qualification']").change(function () {
    updateAmount();
});

这是一个工作示例

于 2013-07-26T11:39:10.080 回答
0

尝试这个:

给大家上课radio buttons。例如收音机。

$(".radio").change(function(){
    var selected_value = $(this).val();
    alert('The radio button has been selected and the value is ' + selected_value);

});
于 2013-07-26T11:44:18.890 回答