我有一個複選框和兩個單選按鈕。 關於收音機其中一個改變事件,我正在複選框的選中屬性爲真。 它只能使用一次。單選按鈕更改事件後未複選複選框
步驟複製它, 1,點擊難看(複選框被選中) 2.取消選中的複選框 3.toggel順便說一句難看和良好(無效果:(
用完的一很多時間在這一點,但無法弄清楚是怎麼回事
我有一個複選框和兩個單選按鈕。 關於收音機其中一個改變事件,我正在複選框的選中屬性爲真。 它只能使用一次。單選按鈕更改事件後未複選複選框
步驟複製它, 1,點擊難看(複選框被選中) 2.取消選中的複選框 3.toggel順便說一句難看和良好(無效果:(
用完的一很多時間在這一點,但無法弄清楚是怎麼回事
更新您的代碼如下:
// or select based on the name attribute
// `$('input[type=radio][name="gender"]')`
$('input[type=radio]').on('change', function() {
$('.xyz').prop('checked', this.value == 'bad');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>
<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br>
試試這個,如果條件.clicked單選按鈕值是壞的點擊真正被別的false
出現在檢查ATTR。你應該使用prop()
方法,而不是attr
更新
爲什麼不工作?
你選擇錯了。你有$('input[type=radio][value = "bad"]')
。其選擇唯一的價值差的無線電 按鈕不是兩個。所以只有當你點擊其他單選按鈕,複選框 沒有選中
$(document).ready(function() {
$('input[type=radio]').on('change', function() {
$('.xyz').prop('checked', $(this).val().trim() == 'bad');
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script data-require="jquery" data-semver="3.1.1" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input type="checkbox" name="vehicle" value="Car" class="xyz"> I have a car<br>
<input type="radio" name="gender" value="good"> Good Oned<br>
<input type="radio" name="gender" value="bad"> Ugly<br><br>
謝謝@prasad,它工作,但爲什麼我們必須爲每個單選按鈕綁定事件,這不是瀏覽器的額外工作? (也只是爲了安心:))爲什麼我的代碼不起作用我的意思是說,當用戶選擇「壞」時,我們是真的嗎? – 92sharmasaurabh
是不是一個額外的工作.Beacuse沒有綁定事件。你不能夠找到值是壞的或其他什麼 – prasanth
*爲什麼我的代碼不工作*因爲你的選擇器是錯誤的。你有'$('input [type = radio] [value =「bad」]')'.its只選擇壞的單選按鈕值不是爲了這兩個。所以只有當你點擊其他單選按鈕時複選框沒有被選中 – prasanth
感謝@pranav,它工作,但爲什麼我們必須綁定每個單選按鈕的事件,這不是瀏覽器的額外工作? (也只是爲了安心:))爲什麼我的代碼不起作用我的意思是說,當用戶選擇「壞」時,我們是真的嗎? – 92sharmasaurabh
@ 92sharmasaurabh:你沒有取消選中你的代碼中的複選框,......並使其工作,你需要使用'prop()'或'.attr('checked','checked')' –