0 レビュー
2 回答
php-別のチェックボックスのグループを無効にすることについて
ここでの最初の投稿、私は単純にしようとします: 医学大会の参加者がクラスに登録するフォームを作成する必要があります。各クラスは3時間続くため、午前10時からクラスに参加したい人は、午前11時、午後12時、午後1時のクラスに登録できませんが、登録はできます。午後2時までなど。
1時間に3つの異なるクラスがあります。
javascriptを使用してこれを行うことを考えましたが、絶対に迷っています。
これを行う方法についてのヒントを教えてください。
ありがとう!!
わからない
0
レビュー
答え :
解決策:
これを行うためのすばやく簡単な方法は、他のチェックボックスを無効または有効にするonChangeを実行するようにjavascript関数を設定することです。あなたは次のようなことをします
<input type="checkbox" onChange="enableDisable(11)" name="11" id="whatever">
JavaScriptの擬似コードは次のようになります。
//Declare function
//Check the current id and get the next 3 IDs
//Check the status of the currentid to find out if you checked or unchecked it
//if you checked it, disable the next 3 ids
//if you unchecked it, enable the next 3, dependant on whether any of the previous 3 values are checked
その最後のステップは少し面倒ですが、それが私がそれに取り組む方法の基本です
わからない
0
レビュー
答え :
解決策:
質問の要件でいくつかの重要なポイントを見逃しました。ユーザーが午前10時にクラスを登録するようにチェックすると、クラスの2つのグループの両方を登録できなくなります:
- グループ1:午前11時〜午前12時〜午後1時
- グループ2:午前9時〜午前8時〜午前7時
あなたがjavascripでほとんど「null」だと言ったように、私はこれらのコードを概念目的のためだけに書きました。
最初に行う必要があるのは、jquery.jsファイル(googleでどこでも見つけることができます)をダウンロードしてから、そのファイルをregister.phpファイルと同じディレクトリに配置することです。
コードはここにあります:
<input type="checkbox" value="10" name="convention_time"> 10 am<br> <input type="checkbox" value="11" name="convention_time"> 11 am<br> <input type="checkbox" value="12" name="convention_time"> 12 am<br> <input type="checkbox" value="13" name="convention_time"> 1 pm<br> <input type="checkbox" value="14" name="convention_time"> 2 pm<br> <input type="checkbox" value="15" name="convention_time"> 3 pm<br> <script> $(function(){ $('[name="convention_time"]').live('click',function(){ var A=$(this); var method2call = A.is(':checked')?'attr':'removeAttr' var selector = '[name="convention_time"]:lt(3)' A.nextAll(selector).add( A.prevAll(selector) )[method2call]('disabled','disabled').attr('checked',false) }) }) </script>
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。