我正在擴展我的previous question。我正在嘗試,如果其中一個單選按鈕被選中,則其他應該默認取消選擇。從show hide div中選擇一個單選按鈕
我已經加入這個嘗試:
JS
function Show_Div(Div_id) {
if (!$(Div_id).is(':visible')) {
$(Div_id).prev().children().prop('checked', true);
$(Div_id).show(250);
} else {
$(Div_id).prev().children().prop('checked', false);
$(Div_id).hide(250);
}
}
function cbChange1(obj) {
var cb1 = document.getElementsByClassName("cb1");
for (var i = 0; i < cb1.length; i++) {
cb1[i].checked = false;
}
obj.checked = true;
}
HTML
<img src="http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/flower-icon.png" alt="" onclick="Show_Div(Div_1)" width="100px">
<p>
<input type="radio" onclick="Show_Div(Div_1)" class="cb1" onchange="cbChange1(this)">Flower 1</p>
<div id="Div_1" style="display: none;">
Flower is pink.
</div>
<br/>
<br/>
<img src="http://www.clker.com/cliparts/0/d/w/v/V/p/pink-flower-md.png" alt="" onclick="Show_Div(Div_2)" width="100px">
<p>
<input type="radio" onclick="Show_Div(Div_2)" class="cb1" onchange="cbChange1(this)">Flower 2</p>
<div id="Div_2" style="display: none;">
Flower is orange.
</div>
但是通過上面的代碼只是單選按鈕是選擇和取消選擇。與單選按鈕連接的顯示和隱藏div不顯示並隱藏在上面。
任何人都可以幫助我嗎?
從'Show_Div(Div_2)代替'來'Show_Div('#Div_2' )' –
如果您可以點擊它意味着你可以看到它,'.is(':visible')'應該總是返回'true'。那麼,在測試你已經知道的事實是否有意義?我絕對錯過了這裏的東西! ......它應該是'#Div_2'...儘管我不是內聯JS的粉絲。 – PeterKA
按照設計,當幾個單選按鈕具有與'name'屬性相同的值時,一次只能選擇一個。選擇一個取消選擇之前選擇的任何一個。我們是否試圖在這裏重新發明輪子? – PeterKA