動的に生成されるラジオボタンの処理で困っています

このQ&Aのポイント
  • JavaScriptで動的に生成されるデータでのラジオボタンの処理の仕方を教えてください。
  • 具体的には、日毎に変動する社員の中から1人だけ上司を決め、後の社員は自動的に部下にチェックとなるという組織表を作成したいのです。
  • 日毎に社員数が変動となる条件で、かつ誰かを上司としてチェックすればあとの社員は自動的に部下になるという感じにしたいのです。
回答を見る
  • ベストアンサー

動的に生成されるラジオボタンの処理で困っています

JavaScriptで動的に生成されるデータでのラジオボタンの処理の仕 方を教えてください。 具体的には、日毎に変動する社員の中から1人だけ上司を決め、後 の社員は自動的に部下にチェックとなるという組織表を作成したい のです。 例) 1日目 No.  氏名   上司  部下 1  Aさん  ●   ○ 2  Bさん  ○   ● 3  Cさん  ○   ● 2日目  No.  氏名   上司  部下 1  Aさん  ○   ● 2  Bさん  ○   ● 3  Cさん  ●   ○ 4  Dさん  ○   ● といったふうに日毎に社員数が変動となる条件で、かつ誰かを上司 としてチェックすればあとの社員は自動的に部下になるという感じ にしたいのです。 どうかよろしくお願い致します。   

noname#20043
noname#20043

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>排他的ラジオボタン?</title> <style> <!-- th,td { text-align:center; } --> </style> <script type="text/javascript"><!-- function boss(rb, n){ var f = rb.form; for(var i=1;i<=n;i++){ if(rb!==f["boss" + i][0]){ f["boss" + i][1].checked = true; } } } //--> </script> </head> <body> <form> <script type="text/javascript"><!-- document.writeln('<table>'); document.writeln('<tr>'); document.writeln('<th>No.</th><th>氏名</th><th>上司</th><th>部下</th>'); document.writeln('</tr>'); document.writeln('<tr><td>1</td><td>Aさん</td>', '<td><input type="radio" name="boss1" value="boss1" onclick="boss(this,3)"></td><td><input type="radio" name="boss1" value="staff1" checked disabled></td></tr>'); document.writeln('<tr><td>2</td><td>Bさん</td>', '<td><input type="radio" name="boss2" value="boss2" onclick="boss(this,3)"></td><td><input type="radio" name="boss2" value="staff2" checked disabled></td></tr>'); document.writeln('<tr><td>3</td><td>Cさん</td>', '<td><input type="radio" name="boss3" value="boss3" onclick="boss(this,3)"></td><td><input type="radio" name="boss3" value="staff3" checked disabled></td></tr>'); document.writeln('</table>'); //--> </script> </form> </body> </html>

noname#20043
質問者

補足

ご回答、誠にありがとうございます。 例として、100人いる社員の中から、プロジェクトに参加する社員数を 社員の意思に任せ、日毎に参加する任数が変動する(パソコン上でログインした社員が参加した人数)条件で、その中から社長が任意で上司を1人 だけ決めるといったプログラムを作成したいと思っております。 毎日、何人参加するかわからない状況の中で、社長の意思で上司を1人だ け決めるといった感じです。 参加する人数がきまっていれば比較的容易に作成できるのですが、∞的な 人数の中から1人だけ決める条件は私には難解なもので、お助け頂けると 非常に助かります。 どうかよろしくお願い致します。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#1>∞的な人数の中から1人だけ決める条件 >JavaScriptで動的に生成されるデータでのラジオボタン が作成されていれば、 #1,#2の回答でラジオボタンの処理をすることができます。

noname#20043
質問者

お礼

動的に生成されるデータでのラジオボタン が作成されている環境で試させていただき ましたところ、うまくいきました。 本当にありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

排他処理と動的なメンバー表の作成は分けてかんがえる とわかりやすいと思います。 排他処理だけなら考え方としては、あるメンバーの 上司欄がクリックされたとき同じフォーム内の別の メンバーの部下欄をチェックする、というフローに なりますね。 で、動的に発生させるには、メンバー表をどうわたす かによると思います。単純に文字列でわたせるなら splitをつかって配列に落として処理するとループ で簡単に表示できます。 以上をまとめるとこんな感じです。 <script language="javascript"> function josiFunc(obj){ var f=obj.form for(var i=0;i<f.length;i++){ if (f[i].type=="radio" && f[i].value==1 && f[i].name!=obj.name) f[i].checked=true } } </script> <form> <script language="javascript"> var memberlist=("Aさん,Bさん,Cさん,Dさん").split(","); for (var i=0;i< memberlist.length;i++){ document.write((i+1)+" "+memberlist[i]+"<input type='radio' name='r"+i+"' value='0' onClick='josiFunc(this)'>上司 <input type='radio' name='r"+i+"' value='1' checked>部下<br>"); } </script> </form> 最初から誰かを上司にしなくてはいけないなら ランダムなのか任意なのか仕様をきめてください

noname#20043
質問者

補足

こんなに早くのご回答、誠にありがとうございます。 仕様的には、会社の社長が任意にこの日はこのA社員が上司で、次の日は C社員が上司といった感じで、社長の任意で変動するプログラムを書きた いと思っています。 早速区、文字列でわたせる条件でsplitをつかって配列に落としてのループ 処理で試したいと思います。

関連するQ&A

  • ラジオボタンの項目をチェックして計算する

    JavaScriptあるいはPHPのラジオボタンを使って表を作り 縦列の計算をしたいと考えています。     a b c 1-1◎ 2○ 3○ 2-1◎ 2○ 3○ 3-1○ 2◎ 3○ 4-1○ 2○ 3◎ ◎になっている縦列(a~c列)の数値と チェックされた数はどのようなプログラムを使うと計算できるのでしょうか? ※この場合、    合計はa:2/b:2/c:3    チェックはa:2/b:1/c:1となります。 ご教授頂ければ幸いです。 よろしくお願い致します!

  • ラジオボタンの作り方

    Flash8とwinXPを利用しています。 ラジオボタンについて教えてください。 《A》《B》《C》3つのムービークリップを作りました。 ラジオボタン(1)ALL (2)A (3)B (4)C の4つを作り、false・trueを使用して  (1)をクリックすると A・B・C 全部が表示  (2)をクリックすると A のみ表示  (3)をクリックすると B のみ表示  (4)をクリックすると C のみ表示 という画面を作りたいと思っています。 【チェックボタン】では作成できたのですが、【ラジオボタン】の "Group"? がよく分からなくてうまくゆきません。 初歩的なことだと思うのですが注意点等を含めて、教えてください。

    • ベストアンサー
    • Flash
  • ラジオボタンの選択を反映させたい

    メールフォーム 件名 A B 氏名 上記の項目はメールフォームの一部です。 件名の横にチェックボックスがあり、AかBを選択する形になっています。 form.cgiに print MAIL "件名:$subject\n\n氏名:\n$name\n\n と書いているのですが、 受信したメールでチェックボックスの結果が 反映されません… 件名、氏名を順に表示させる事は出来るのですが、 この記述だと、どちらをチェックしたかが分からない状態です。 お分かりになる方がおられましたらご回答をお願いします。

    • 締切済み
    • CGI
  • JavaScriptでラジオボタンのチェックをはずす。

    2組のラジオボタンを持つHTMLがあるとします。例えばAとB、CとDとします。ただしどちらか1組だけしか選べないようにしたいのです。AもしくはBがチェックされ、CかDにチェックが入っていたら、チェックをはずしたいのです。つまり、ラジオボタンのチェックをはずすFunction(Sub)を作成したいのです。どなたかいいアイデア、書き方わかりますか?

  • ラジオボタンの選択後について

    初心者です、宜しくご指導ください。 ABCの3つのラジオボタン(【例】A:時給 B:日給 C:月給)を使用し、選択されたボタンによって、 Aにチェックが入ったら入力された数値を160倍したもの、 Bにチェックが入ったらその数値を20倍したもの、 Cにチェックが入ったらその数値をそのまま使用したものを、ちがう場所に計算結果として出したいときに、どのようなスクリプトを作れば良いのでしょうか。

    • ベストアンサー
    • HTML
  • データ処理に関する質問(Access VBAーDAO)

     AccessVBA初心者です。いつもお世話なっております。 環境 OSーXPsp2 office2003 テーブル1とテーブル2あって、テーブル1にデータはいってます。テーブル2は空です。 ACCESS VBA DAOで テーブル1のデータの[店名]、[氏名]を テーブル2に横に追加していきたいです。 テーブル2 構造 ID(オートナンバー)  [店名]1 [氏名]1 [店名]2 [氏名]2  --------------------------------------------------------- テーブル1のデータ ID(オートナンバー)  [店名] [氏名]   1           A    Aさん   2           B     Bさん    3           C     Cさん    4    D       Dさん ----------------------------------------------------- 結果 テーブル2 ID(オートナンバー)  [店名]1 [氏名]1 [店名]2 [氏名]2  1            A   Aさん   B   Bさん 2            C   Cさん   D   Dさん ACCESS VBAでの書く方 教えてください。宜しくお願い足します。

  • 職場におけるパワハラ

    職場においては、上司Aは部下Bに業務指示を行い業務履行を行うのが普通でありますが、履行できない部下Bは、上司Aを超えて、業務履行できないのを棚にあげて、そのまたワンランク上の上司Cに「パワハラを受けている」とチクり、Cは双方の状況確認も行わず一方的に、Aに対して注意した。このような場合、AがB、Cからパワハラを受けていることになるんではないでしょうか。 組織のためにAは頑張っているのに、報われません。また、Aは、またチクられると思いBに業務指示ができません。何か解決方法ありませんか。Aがかわいそうです。よろしくお願いします。

  • サイトマップ自動生成プログラムを探しています。

    サイトマップを自動生成したいので探していると、だいぶ理想に近いものがありましたが、すでに死んでいるサイトのようでした。 http://d.hatena.ne.jp/toku-hiro/searchdiary?word=%A5%B5%A5%A4%A5%C8%A5%DE%A5%C3%A5%D7+%BC%AB%C6%B0%C0%B8%C0%AE+php&.submit=%B8%A1%BA%F7&type=detail ここのサイトにあるようなプログラムを探しています。 ダウンロードフリーでいいものがあったら教えてください。 お願いします。 googleサイトマップ用XMLとサイトマップ用HTML(PHP)を生成

    • ベストアンサー
    • PHP
  • ラジオボタンでプッシュボタンの使用可否を制御。

    ラジオボタンでAとB、2択の選択肢を作ります。 Aを選んだ時にはプッシュボタンCを押す事ができ、 Bを選んだ時にはCは押せない状態にしたいのです。 Bの時には、Cの属性にdisabledを持たせたいと言うのでしょうか。非表示になっても構いません。 こう言った制御はJavaScriptを使う事になると思い、このカテゴリで質問しました。 今まで他の方が作られたソースを改造してしかJavaScriptを使った事が無く、書き方が全然わかりません。 上記のような制御を行う方法を、サンプルソースで教えていただけないでしょうか。よろしくお願いします。

  • 化合物の生成について

    よく「この元素とこの元素は結びつきやすいから化合物ができやすい」というのを本などで見かけます。 金属と金属、または金属と非金属の間で化合物が生成される場合、その化合物のできやすさは何で決まるのでしょうか? また仮にA,B,C三つの元素がある場合、生成される化合物の優先順位はどのようにして決まるのでしょうか? A-B間よりもA-C間の化合物の方ができやすいとすると、その理由は何なのでしょうか? 曖昧な質問ですいませんが、よろしくお願いします。

専門家に質問してみよう