亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

允許在第二次檢查時將單選字段設置為可取消選中

允許在第二次檢查時將單選字段設置為可取消選中

湖上湖 2023-07-06 17:14:18
我希望能夠在頁面上各種無線電組周圍的容器上設置類名,這將允許這些無線電組不可檢查/可取消 - 從而允許用戶將無線電字段設置為空。應假定名稱是動態的,以便代碼盡可能可重用。我認為可以公平地假設該類的每個元素集中只出現一個唯一的輸入名稱。我知道這是非標準的。我知道以前也曾提出過類似的問題。問題的復雜性在于以簡單且一致的方式處理具有動態生成名稱的多組無線電。一般來說,我見過的大多數解決方案都通過以某種其他方式將類應用于無線電輸入來跟蹤當前的選擇。任何愿意討論最好聽的各種事件的利弊的答案也很有價值。示例 HTML:<ul class="detickable-radio">  <li><input name="x1" type="radio" value="a" id="r_1_1"><label for="r_1_1">First Q First A</label></li>  <li><input name="x1" type="radio" value="b" id="r_1_2"><label for="r_1_2">First Q 2nd A</label></li></ul><ul>  <li><input name="y1" type="radio" value="c" id="r_2_1"><label for="r_2_1">Second Q First A</label></li>  <li><input name="y1" type="radio" value="d" id="r_2_2"><label for="r_2_2">Second Q 2nd A</label></li></ul><ul class="detickable-radio">  <li><input name="z1" type="radio" value="e" id="r_3_1"><label for="r_3_1">Third Q First A</label></li>  <li><input name="z1" type="radio" value="f" id="r_3_2"><label for="r_3_2">Third Q 2nd A</label></li></ul>期望的結果:x1 和 z1 無線電將不可檢查,而 y1 無線電則不可檢查。Vanilla 和 jQuery 的答案都受到歡迎。干杯。更新 - 我已將其設置為完整,盡管它尚未用于鍵盤輸入。一般來說,我建議采用跟蹤檢查值然后檢查每個更改事件的方法來提供更好的覆蓋范圍。另外,我認為更改復選框以允許檢查單個值比將收音機更改為可標記會更整潔。另外,我不敢相信內華達州不會在另一天提供任何進一步的計數更新。
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

你可以這樣做:


var s;

$('.detickable-radio input:radio, .detickable-radio input:radio ~ label').mousedown(function(e) {

  var $this = $(this).is(":radio") ? $(this) : $(this).prev();

  s = $this.is(":checked")

}).mouseup(function(e) {

  var $this = $(this).is(":radio") ? $(this) : $(this).prev();

  $this.prop("checked", !s)

}).click(function(e) {

  e.preventDefault()

});

var s;

$('.detickable-radio input:radio, .detickable-radio input:radio ~ label').mousedown(function(e) {

  var $this = $(this).is(":radio") ? $(this) : $(this).prev();

  s = $this.is(":checked")

}).mouseup(function(e) {

  var $this = $(this).is(":radio") ? $(this) : $(this).prev();

  $this.prop("checked", !s)

}).click(function(e) {

  e.preventDefault()

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul class="detickable-radio">

  <li><input name="x1" type="radio" value="a" id="r_1_1"><label for="r_1_1">First Q First A</label></li>

  <li><input name="x1" type="radio" value="b" id="r_1_2"><label for="r_1_2">First Q 2nd A</label></li>

</ul>

<ul>

  <li><input name="y1" type="radio" value="c" id="r_2_1"><label for="r_2_1">Second Q First A</label></li>

  <li><input name="y1" type="radio" value="d" id="r_2_2"><label for="r_2_2">Second Q 2nd A</label></li>

</ul>

<ul class="detickable-radio">

  <li><input name="z1" type="radio" value="e" id="r_3_1"><label for="r_3_1">Third Q First A</label></li>

  <li><input name="z1" type="radio" value="f" id="r_3_2"><label for="r_3_2">Third Q 2nd A</label></li>

</ul>


查看完整回答
反對 回復 2023-07-06
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號