2016-07-20 6 views
0

ボタンをPHPデータの配列内に隠しフォームで表示しようとしています。私は一度に一つの書式しか開くことができないということを除いて、それは働いています。いずれかのボタンをクリックすると、すべてのフォームが表示されます。私はクラスとして変数を使用しようとしましたが、関数はすべて一緒に動作しなくなりました。配列内の単一フォームを対象とするOnclickボタン

function deptStaffOptions ($deptId, $company){ 
    $retVal = ""; 

    // Connect to the database by creating a new mysqli object 
    include "DBconnect.php"; 
    $query = " 
    SELECT 
     s.staffId, 
     s.fName, 
     s.lName 
    FROM staff AS s 
    INNER JOIN agencies AS a ON a.company = s.company 
    WHERE s.company = '$company' AND s.archive = 0 AND s.staffId NOT IN (
     SELECT staffId FROM deptAgts WHERE deptID = $deptId) 
     ORDER BY s.fName"; 


    $retVal = $retVal . "<button class='work' id='dept". $deptId ."'>Please Work</button><form class='work' class='dept". $deptId ."' style='display: none;'><select>"; 


    if ($resultCD = $mysql->query($query)) { 
     while ($aRow = $resultCD->fetch_assoc()) { 

      $retVal = $retVal . "<option value='".$aRow['staffId']."'>". $aRow['fName'] . " " . $aRow['lName'] . "</option>"; 
     } 
    } 

    $retVal = $retVal . "</select></form>"; 
    return $retVal; 

    $mysqli->close(); 

} 

print deptStaffOptions($deptId, $company); 

これは、私が働いていた初期のjavascriptです:いずれかのボタンがクリックされたときにこれは動作しますが、開いているフォームの全て

<script> 
    $("button.work").click(function() { 
     $("form.work").show("fold", 1000); 
    }); 
</script> 

idがアラート内に見つかりましたが、実際のデータ(自動生成されていない)でクラスのテストを試みましたが、動作を停止しました。

<script> 
    $("button").click(function() { 
     var department = (this.id); 
     alert(department); 
     $("form.dept23").show("fold", 1000); 
    }); 
</script> 

ご協力いただければ幸いです。

答えて

0

1つのタグに2つのクラス属性を持つことはできません。クラスをスペースで分割するだけです。

$retVal = $retVal . "<button class='work' id='dept". $deptId ."'>Please Work</button><form class='work dept". $deptId ."' style='display: none;'><select>"; 

あなたは、動的に使用して選択することができます。

<script> 
    $("button").click(function() { 
     var department_id = (this.id); 
     $("form.dept" + department_id).show("fold", 1000); 
    }); 
</script> 
+0

私は変更を加えて、それはまだ働いていません。クラスの問題をキャッチするためにありがとう。 –

+0

https://jsbin.com/で出力されたHTMLを使用して例を挙げることができます。私はこれが間違いなくJSの問題だと思う。 – Jono20201

+0

ページ全体は、多くのSQLデータに基づいています。私はここにコードの大きな塊を配置すると役立つでしょうか? htmlがPHP関数によって作成されているので、これも起こっていますか? –

関連する問題