2017-06-29 134 views
1

功能是:當選中其中一個複選框時,必須禁用另一個複選框。它的工作,但更新WordPress頁面,並嘗試編輯複選框後,我有以下問題: enter image description here用於禁用複選框不起作用的功能

首先我檢查了顯示摘錄,然後更新的頁面,你可以看到,有2這是檢查

複選框」

<div><input type="checkbox" id="dx_article_excerpt" onclick="disableContentCheckbox()"><label for="dx_article_excerpt"><?php _e('Display Excerpt', 'dxeasypb'); ?></label></div> 
<div><input type="checkbox" id="dx_article_content" onclick="disableExcerptCheckbox()"><label for="dx_article_content"><?php _e('Display Content', 'dxeasypb'); ?></label></div> 

而且我這裏還有功能框:

function disableContentCheckbox(){ 
      if (document.getElementById('dx_article_excerpt').checked) { 
       document.getElementById("dx_article_content").disabled = true; 
      } else { 
       document.getElementById("dx_article_content").disabled = false; 
      } 
     } 
     function disableExcerptCheckbox(){ 
      if (document.getElementById('dx_article_content').checked) { 
       document.getElementById("dx_article_excerpt").disabled = true; 
      } else { 
       document.getElementById("dx_article_excerpt").disabled = false; 
      } 
     } 

爲什麼會發生這種情況?

+3

爲什麼不使用單選按鈕呢? – hRdCoder

+0

你可以粘貼一個例子嗎? –

+0

複選框既可以選中也可以禁用。 – evolutionxbox

回答

1

只需在禁用時取消選中其他複選框。

我註釋掉了document.getElementById("dx_article_content").disabled = true;只是爲了向您展示您在選中其中一張並點擊另一張時的樣子。在您的代碼中取消註釋。

<div><input type="checkbox" id="dx_article_excerpt" onclick="disableContentCheckbox()"><label for="dx_article_excerpt"><?php _e('Display Excerpt', 'dxeasypb'); ?></label></div> 
 
<div><input type="checkbox" id="dx_article_content" onclick="disableExcerptCheckbox()"><label for="dx_article_content"><?php _e('Display Content', 'dxeasypb'); ?></label></div> 
 

 
<script> 
 
    function disableContentCheckbox() { 
 
    if (document.getElementById('dx_article_excerpt').checked) { 
 
     document.getElementById('dx_article_content').checked = false; 
 
     //document.getElementById("dx_article_content").disabled = true; 
 
    } else { 
 
     document.getElementById("dx_article_content").disabled = false; 
 
    } 
 
    } 
 

 
    function disableExcerptCheckbox() { 
 
    if (document.getElementById('dx_article_content').checked) { 
 
     document.getElementById('dx_article_excerpt').checked = false; 
 
     //document.getElementById("dx_article_excerpt").disabled = true; 
 
    } else { 
 
     document.getElementById("dx_article_excerpt").disabled = false; 
 
    } 
 
    } 
 
</script>

+0

這裏是耶穌女士們,先生們。上帝保佑你 –

+0

@RumenPanchev很樂意幫忙= D –

+0

@RumenPanchev我還是不明白爲什麼單選按鈕沒有被使用。 – evolutionxbox

0

那麼,我看到它的方式,你有兩個選擇。

你可以在捕捉事件時自己改變c​​hecked屬性。

第二種選擇是使用單選按鈕。

+0

可以顯示我第一個選擇怎麼辦? –

+1

https://stackoverflow.com/questions/8206565/check-uncheck-checkbox-with-javascript –