2016-10-08 7 views
0

ページには2つのテーブルがあります。 1つは金曜日のもので、もう1つは土曜日のものです。ラジオボタン選択の選択肢をテーブルから設定したい。金曜日の表から4つのスロットのうち3つ以上を選択することはできません。どのようにテーブルのjavascript関数を呼び出すことができますか?これどうやってするの? ここに私のPHPコードとJavaScript関数です。 Output looks like thisphpの中でjavascript関数を使用するには?

このjavascript機能は、両方のテーブルで機能しています。任意の表から3つのラジオボタンを選択すると、「3つ以上を追加することはできません」と表示されます。しかし、私は土曜日ではなく、金曜日のテーブルのためだけにこれをしたい。

  1. PHPコード:

       for($time=0; $time<4; $time++){ 
           $q.= "<td colspan='1' valign='top' width='25%'>"; 
            $q.= "<table id='ash'>"; 
            $q.= "<tr id='grey'>"; 
            if($day==1){ 
             if($time==0){ 
              $q.= "<th width='50%'></th></tr>"; 
             }else if($time==1){ 
              $q.= "<th width='50%'></th></tr>"; 
             }else if($time==2){ 
              $q.= "<th>Reg.</th>"; 
              $q.= "<th width='50%'>2:30 pm - 5:00 pm</th>"; 
              $q.= "<th>Sec</th><th>Remaining</th></tr>"; 
             }else{ 
              $q.= "<th>Reg.</th>"; 
              $q.= "<th width='50%'>5:00 pm - 7:30 pm</th>"; 
              $q.= "<th>Sec</th><th>Remaining</th></tr>"; 
             } 
            } 
            else{ 
             $q.= "<th>Reg.</th>"; 
             if($time==0){ 
              $q.= "<th width='50%'>8:30 am - 11:00 am</th>"; 
             }else if($time==1){ 
              $q.= "<th width='50%'>11:00 am - 1:30 pm</th>"; 
             }else if($time==2){ 
              $q.= "<th width='50%'>2:30 pm - 5:00 pm</th>"; 
             }else{ 
              $q.= "<th width='50%'>5:00 pm - 7:30 pm</th>"; 
             } 
             $q.= "<th>Sec</th><th>Remaining</th></tr>"; 
            } 
            $query1 = "SELECT tab1.*, tab2.course_name, tab2.course_type FROM routine AS tab1, course_info AS tab2"; 
            $result = mysql_query($query1); 
            if ($result && mysql_num_rows($result) > 0) { 
             while($row = mysql_fetch_assoc($result)){ 
              $course = $row["course_code"]; 
              $sec = $row["section"]; 
              $type = $row["course_type"]; 
              if(course_completed($std_id, $course)){ 
               if(already_selected($course, $sec, $std_id, $year, $sem)){ 
                $q.= "<tr bgcolor='#00FF33'><td><input type='radio' id='course_".$day."_".$time."' name='".$day.$time."' value='".$course.",".$sec.",".$type."' checked='checked' onclick='changeRadioValue(\"".$day."_".$time."\")' /></td>"; 
               } 
               else{ 
                $q.= "<tr bgcolor='#00FF33'><td><input type='radio' id='course_".$day."_".$time."' name='".$day.$time."' value='".$course.",".$sec.",".$type."' onclick='changeRadioValue(\"".$day."_".$time."\")' /></td>"; 
               } 
              } 
    
             else{ 
    
               if(already_selected($course, $sec, $std_id, $year, $sem)){ 
                $q.= "<tr><td><input type='radio' id='course_".$day."_".$time."' name='".$day.$time."' value='".$course.",".$sec.",".$type."' checked='checked' onclick='changeRadioValue(\"".$day."_".$time."\")' /></td>"; 
               }else{ 
                $q.= "<tr><td><input type='radio' id='course_".$day."_".$time."' name='".$day.$time."' value='".$course.",".$sec.",".$type."' onclick='changeRadioValue(\"".$day."_".$time."\")' /></td>"; 
               } 
              } 
    
  2. のJavaScript関数

    $("input[type='radio']").change(function(){ 
        var count = $("input[type='radio']:checked").length; 
        if(count>3){ 
         $(this).prop('checked', false); 
         alert("You cannot add more than 3"); 
        } 
    }); 
    
+1

クラスまたはIDをあなたの含むday要素に追加し、jqueryセレクタをそれに制限します。いずれにせよ、これはphpに関連していないので、PHPの代わりにhtmlを表示するべきです。 – jeroen

答えて

0

はこれを試してみてください:条件が真の場合

<?php 
if(condition) { 
    ?> 
    <script>//JS Code</script> 
    <?php 
} 
?> 

ときページが読み込まれると、スクリプトタグ間のJSコードを使用すると、また別のJSが書き込みコードの代わりにファイルをリンクすることができ、実行されます。

0

解決しました。私はJS関数を変更しました

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<script type="text/javascript"> 

    //table fri 
    $("#fri input[type='radio']").change(function(){ 
     var count = $("#fri input[type='radio']:checked").length; 
     if(count>3){ 
      $(this).prop('checked', false); 
      alert("You cannot add more than 3"); 
     } 
    }); 

    //table sat 
    $("#sat input[type='radio']").change(function(){ 
     var count = $("#sat input[type='radio']:checked").length; 
     if(count>3){ 
      $(this).prop('checked', false); 
      alert("You cannot add more than 3"); 
     } 
    }); 

    //refresh selection 
    $(".refresh").click(function(){ 
     $("input[type='radio']").prop('checked', false); 
    });