0

こんにちは、ユーザーが一度に最大 4 つのチェックボックスを選択できるようにする機能を追加しようとしていますが、惨めに失敗しています... php と javascript はうまく連携していないようです!

私のPHPコードは次のとおりです。

<?php
echo "<form method='post' name='time' action='timeinsert.php'>";
echo "<td><input type='checkbox' `name='$displayTime2'onclick='KeepCount()'></td>";
echo "</form>";
?>

私のJavascriptコードは次のとおりです。

<script language="JavaScript">
<!--`
function KeepCount() {
var NewCount = 0
if (document.time.<?php"$displayTime2"?>.checked)
{NewCount = NewCount + 1}
f (NewCount == 4)
{
alert("Pick maximum of 4 time slot's Please")
document.time; return false;`
}
//-->
</script>
4

3 に答える 3

0

jQueryの使用:

<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'>
</script>
<script type='text/javascript'>
    $(function() {
        $('input[type=checkbox]').click(function () {
            var count = $('input[type=checkbox]:checked').length;   
            if (count > 4) alert('Pick maximum of 4 time slots please!');
        });
    });
</script>

<?php
    echo "<form method='post' name='time' action='timeinsert.php'>";
    echo "<td><input type='checkbox' name='$displayTime2'></td>";
    echo "</form>";
?>

更新:4回のクリック後にそれ以上のチェックが行われないようにするには、次のようにします。

<script type='text/javascript'>
    $(function() {
        $('input[type=checkbox]').click(function () {
            var count = $('input[type=checkbox]:checked').length;   
            if (count > 4) {
                $(this).removeAttr('checked');
                alert('Pick maximum of 4 time slots please!');
            }
        });
    });
</script>
于 2013-02-15T13:19:16.700 に答える
0

さて、私は今ステファンのコードを編集して、思いついた:

<script type='text/javascript' src='includes/jquery-1.9.1.min.js'>
</script>
<script type='text/javascript'>
    $(function() {
        $('input[type=checkbox]').click(function () {
            var count = $('input[type=checkbox]:checked').length;   
            if (count > 4) alert('Pick maximum of 4 time slots please!');
        if (count > 4) $(this).removeAttr("checked");
        });
    });
</script>

これはユーザーに警告し、4つのチェックボックスがすでに選択された後に削除してチェックマークを付けます。$(this).removeAttr( "checked");を追加することは可能ですか?別のコード行を追加するのではなく、最初のifステートメントに?

于 2013-02-15T13:56:25.830 に答える
0
<script language="JavaScript">    

    var NewCount = 0;

    function KeepCount() 
    {
      if(NewCount <= 4)
      {
          if (document.time.<?php echo $displayTime2; ?>.checked)
          { 
               NewCount = parseInt(NewCount)+1;
          }
      }
      else
      {
         alert("Pick maximum of 4 time slot's Please");   
         return false;  
      }
    }
</script>
于 2013-02-15T12:24:24.313 に答える