[英]How to change text according to radio button selection using Javascript
[英]How to undo a radio button selection using JavaScript or preferably jQuery
我正在使用帶有一組單選按鈕選擇的方案。 要求是只能選擇2個。是。 因此,如果第三個也選擇“是”,我想將其恢復為“否”
另外,我還想知道是否可以檢查是否檢查了組中單選按鈕的給定索引,而不是這樣做:“($(this).is(':checked')&& $(this).val ()=='Y')”
jsFiddle鏈接: http : //jsfiddle.net/pshah331/S8qep/
HTML:
<p>Folder A:
<input type="radio" name="folder_A" value="Y" onclick="folderSelectionChanged()" />Yes
<input type="radio" name="folder_A" value="N" onclick="folderSelectionChanged()" />No</p>
<p>Folder B:
<input type="radio" name="folder_B" value="Y" onclick="folderSelectionChanged()" />Yes
<input type="radio" name="folder_B" value="N" onclick="folderSelectionChanged()" />No</p>
<p>Folder C:
<input type="radio" name="folder_C" value="Y" onclick="folderSelectionChanged()" />Yes
<input type="radio" name="folder_C" value="N" onclick="folderSelectionChanged()" />No</p>
<div id="update"></div>
“ HEAD”中的JavaScript:
function folderSelectedYesCount() {
var yesCount = 0;
var folderRadioGroups = $("input[name^='folder_']");
folderRadioGroups.each(function () {
// TODO: Would like to check by index --> "index 0 is selected/checked"
if ($(this).is(':checked') && $(this).val() == 'Y') {
yesCount++;
}
});
return yesCount;
}
function folderSelectionChanged() {
// TODO: If count of Yes is greater than 2, then change the last clicked to "No"
/*
if (folderSelectedYesCount() > 1){
$(this)[1].prop('checked', true);
}
*/
$('#update').html('Selection count for "Yes" is <b>' + folderSelectedYesCount() + ' </b>');
}
更改了html,因此folderSelectionChanged
函數可以this
作為參數來處理此類事件:
if(folderSelectedYesCount() > 2){
$(obj).prop('checked', false);
$(obj).next().prop('checked', true);
}
我已經更新了您的jsfiddle,請檢查:-
function folderSelectionChanged(e) {
if(folderSelectedYesCount()>2){
$(e).siblings().prop("checked",true);
}
$('#update').html('Selection count for "Yes" is <b>' + folderSelectedYesCount() + ' </b>');
}
點擊這里: -http : //jsfiddle.net/S8qep/47/
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.