我非常害怕一个总是jquery noob!我确信这是一件非常简单的事情,但我似乎无法解决这个问题。
我试图获取动态的,选定的单选按钮的值。
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();
有人可以告诉我我做错了吗?
由于
答案 0 :(得分:5)
您过早地调用updateAmount,绑定click事件并将回调设置为updateAmount,或将change
事件视为烘焙提及,因为事件将仅在实际选择发生更改时触发,而不仅仅是点击了。
jQuery(document).on("click",'input:radio[name=qualification]',updateAmount);
.on
函数使得当前的单选按钮和任何新的单选按钮的click事件被触发
答案 1 :(得分:2)
你的代码实际上很好。问题在于您呼叫updateAmount()
的位置。如果您希望在用户选择选项时调用此选项,请在change()
事件中调用它。像这样:
$("input:radio[name='qualification']").change(function () {
updateAmount();
});
答案 2 :(得分:0)
试试这个:
为所有radio buttons
提供课程。例如无线电。
$(".radio").change(function(){
var selected_value = $(this).val();
alert('The radio button has been selected and the value is ' + selected_value);
});