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

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

當 php 在 while 循環中顯示按鈕時,使用 js 更改按鈕的類

當 php 在 while 循環中顯示按鈕時,使用 js 更改按鈕的類

PHP
米琪卡哇伊 2023-05-26 16:33:04
`<?php$i = 0;$testcount = 0;while($testcount < 8) {  if($i == 0) {    ?>    <input id="info" type="hidden" value="hi">    <?php  } else if ($ == 1) {    ?>    <input id="info" type="hidden" value="test">    <?php  }  ?>  <button onclick="test()" class="btnT">Hello</button>  <?php  $testcount++;}?><style>  .test1 {     background-color: cyan;     color: black;  }</style><script type="text/javascript">  function test () {     $(".btnT").addClass("test1");  }</script>`忽略if語句,我還沒有實現到js我正在使用 php while 循環顯示按鈕,沒有任何文本或類。使用 if 語句使用 php 確定一個類,它們將保存一個隱藏的輸入值,然后將其推送到 javascript,然后根據隱藏輸入的值添加一個類,然后我試圖刪除并添加另一個類在 while 循環中只顯示一個單獨的按鈕。我要么獲得第一個按鈕來獲得更改,要么它更改所有按鈕,而不是我單擊的單個按鈕。請幫忙,謝謝!我最大的問題是如何讓 while 循環內的每個按鈕都單獨發生事件,而不是全部發生。我知道這是因為我有向按鈕類添加類的代碼,我嘗試用 id 替換按鈕類,但那樣的話,只有第一個按鈕會添加新類,而不是其余按鈕. 希望每個按鈕都有一個解決方案來單獨行動
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

當您創建 while 循環時,您可以將 $testcount 附加到按鈕 ID 的末尾,這樣每個按鈕都會有自己唯一的 ID,但仍然有一個可以在 javascript 中使用的“模板”名稱。


<?php

$i = 0;

$testcount = 0;

while($testcount < 8) {

  echo '<button id="btn'.$testcount.'" onclick="test('.$testcount.')" class="btnT">Hello</button>';

  $testcount++;

}

?>

之后你應該得到 7 個按鈕,ID 為 btn1、btn2、btn3、btn4 等


然后在 Javascript 中,您可以像這樣基于每個按鈕運行一個函數:


function test(x) {

    var myButton = document.getElementById('btn' + x);

    myButton.classList.add("test1");

    // Any more JS logic you have

}

例如,當您單擊按鈕 #2 時,該按鈕的 ID 應為“btn2”。單擊按鈕會將數字“2”作為參數發送給 JS 函數。變量 myButton 將通過 btn 的 ID + 你給它的數字來創建一個像'btn2'這樣的字符串,然后基于你現在知道按下了哪個按鈕,你就可以基于它運行操作. 使用您的示例,您將類“test1”添加到該按鈕。


查看完整回答
反對 回復 2023-05-26
  • 1 回答
  • 0 關注
  • 146 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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