簡體   English   中英

使用單選按鈕禁用使用 Foreach 循環的下拉菜單

[英]Use radio buttons to disable dropdown using Foreach loop

我正在開發一個應用程序/表單,該應用程序/表單通過帶有單選按鈕的 foreach 循環從數據庫中填充了一個表,一個代表是,一個代表否和一個下拉菜單。 I need it so that when the Yes radio button is selected, the dd is disabled, and when no is selected, it is enabled. 我有它工作,但它只適用於頂行,我無法預先選擇所有 Yes 單選按鈕。 所以簡而言之,我不知道如何預先選擇所有 yes rd btns,這反過來又會禁用 dd。 任何幫助都會很棒。 謝謝。

<?php
            //Foreach loop iterates through each column of $getallrows function
            foreach($allRows as $rowID => $rowInfo){ ?>
              <tr>
                <td><?php echo $rowInfo['fpID'];?></td>
                <td><?php echo $rowInfo['shortTitle'];?></td>
                <td><?php echo $rowInfo['PI'];?></td>
                <td><?php echo $rowInfo['Department'];?></td>
                <td><?php echo $rowInfo['Division'];?></td>
                <td><?php echo $rowInfo['sponsorName'];?></td>
                <td><?php echo $rowInfo['Date_Project_Start']->format('Y-m-d');?></td>
                <td><?php echo $rowInfo['Date_Project_End']->format('Y-m-d');?></td>
                <td><?php echo $rowInfo['fundingType'];?></td>
                //Radio buttons
                <td>Yes<input type="radio" name="rdGrant" value="Yes"  id="rdYes" onclick="disable()" checked="checked"/><br />
                    No<input type="radio" name="rdGrant" value="No" id="rdNo" onclick="enable()"/></td>
                <form action="classes/functions.class.php" method="POST">
                  <input type="hidden" name="id" value="<?php echo $fpID; ?>"/>
                  <td>
                  //Drop down
                    <div class="dropdown">
                      <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" name="ddgrantGroup" id="ddgrantType" data-toggle="dropdown">Select Proper Funding Type
                        <span class="caret"></span>
                      </button>
                      <ul class="dropdown-menu" aria-labelledby="ddgrantType">
                        <li><a data-value="Corporate Sponsor">Corporate Sponsor</a></li>
                        <li><a data-value="Federal">Federal</a></li>
                        <li><a data-value="Foundation Selected">Foundation Selected</a></li>
                        <li><a data-value="Internally Funded">Internally Funded</a></li>
                        <li><a data-value="State/Local">State/Local</a></li>
                      </ul>
                    </div>
                  </td>
                  <td>
                    <div class="update">
                      <!-- <a href="index.php?edit=<?php echo $rowInfo['fpID']; ?>" class="btn btn-success">Update and Save</a> -->
                      <button type="submit" class="btn btn-success" name="Update">Update and Save</button>
                    </div>
                  </td>
                  <td>
                    <div class="comment">
                      <textarea class="form-control" aria-label="With textarea" id="grantComment" placeholder="Comments"></textarea>
                      <button type="submit" class="btn btn-success" name="updateComm">Add Comments</button>
                      <!-- <a href="index.php?edit<?php echo $rowInfo['fpID']; ?>" class="btn btn-success">Add Comment</a> -->
                    </div>
                  </td>
              </form>
              </tr>
            <?php } ?>
          </tbody>

Function 后面的單選按鈕禁用/啟用 dd。

function disable() {
document.getElementById("ddgrantType").disabled=true;

} function enable() { document.getElementById("ddgrantType").disabled=false; } function enable() { document.getElementById("ddgrantType").disabled=false; }

您必須為按鈕使用動態選擇器(類/id),而不是常量 id #ddgrantType。

試試這樣的 -

        <?php $dynamic_id = 'ddgrantType_'.$rowInfo['fpID'];?>
        <td>Yes<input type="radio" name="rdGrant" value="Yes"  id="rdYes" onclick="disable('<?php echo $dynamic_id;?>')" checked="checked"/><br />
            No<input type="radio" name="rdGrant" value="No" id="rdNo" onclick="enable('<?php echo $dynamic_id;?>')"/></td>
        <form action="classes/functions.class.php" method="POST">
          <input type="hidden" name="id" value="<?php echo $fpID; ?>"/>
          <td>
          //Drop down
            <div class="dropdown">
              <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" name="ddgrantGroup" id="<?php echo $dynamic_id;?>" data-toggle="dropdown">Select Proper Funding Type
                <span class="caret"></span>
              </button>
              <ul class="dropdown-menu" aria-labelledby="ddgrantType">
                <li><a data-value="Corporate Sponsor">Corporate Sponsor</a></li>
                <li><a data-value="Federal">Federal</a></li>
                <li><a data-value="Foundation Selected">Foundation Selected</a></li>
                <li><a data-value="Internally Funded">Internally Funded</a></li>
                <li><a data-value="State/Local">State/Local</a></li>
              </ul>
            </div>
          </td>



  <script>
    function disable(btn_id) {
      document.getElementById(btn_id).disabled=true;
    }

    function enable(btn_id) {
      document.getElementById(btn_id).disabled=false;
    }
  </script>  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM