0

オプションの 1 つが最初に無効になっている選択ドロップダウンがあります。私が望むのは、チェックボックスがクリックされたときにのみそのオプションを有効にすることです。単一のオプションでこれを行う方法がわからない代わりに、選択ドロップダウン全体を有効/無効にしています:(。

    <input type='checkbox' id='details' name='form_details<?php if ($form_details) echo ' checked'; ?> onchange='enableOption()';>

   <select name='form_summarize_by' id='summarize_by'>
   <?php
    echo " <option value='0'>Orange</option>\n";
    echo " <option value='1'" . (!$form_details ? "disabled='disabled'":"" ) . ">Pear</option>";
    ?>

    <script type="text/javascript">
    function enableOption(){
    if(document.getElementById('details').checked == true)
    {
     document.getElementById('summarize_by').removeAttribute('disabled');
    }
    else
    {
     document.getElementById('summarize_by').setAttribute('disabled', 'disabled');
    }
    }
    </script>
4

3 に答える 3

0

チェックボックスと選択要素がフォーム内にある場合、チェックボックスで次のことができます。

onclick="this.form.form_summarize_by.options[1].disabled = this.checked;"

または関数を使用します。

onclick="updateDisabled(this);"

そして機能:

function updateDisabled(cb) {
  cb.form.form_summarize_by.options[1].disabled = cb.checked;
}
于 2013-11-04T01:40:08.597 に答える
0

ありがとう!!私は次のようにそれを解決することができました:

 function enableOption(){
    if(document.getElementById('details').checked == true)
    {

     document.getElementById('summarize_by').options[1].disabled=false;

    }
    else
    {
     document.getElementById('summarize_by').options[1].disabled=true;
    }
 }
于 2013-11-04T01:44:47.600 に答える