2016-04-01 8 views
3

私はこのようなチェックボックスとオプション、 imag1javascriptのチェックボックス/同じdivの中uncheckbox複数の項目

を持っている場合、私は私が行うことができますJavaScriptでどのような方法があるかどうかを知る必要があります。 私は外傷性チェックすると、非外傷性をチェックしてから、トラウマは自動的にチェックを外すべきです。次の2つのオプションと同じです。私が急性をチェックしたら、自動的に慢性にチェックし、急性はチェックしないでください。急性、外傷性、慢性、非外傷性のような2つのオプションも選択できます。これらのオプションはすべて同じ入力IDとdivにあります。

if(final_comorb != null && final_comorb.length != 0) { 
      for(var i=0; i<final_comorb.length; i++) { 
       tableBody += "<tr><td><table>" 
          + "<tr onmouseover=\"mouseOverPara('rrSentencesImg"+index+impression_prefix+i+"','rrSentencesCol"+index+impression_prefix+i+"');\" onmouseout=\"mouseOutPara('rrSentencesImg"+index+impression_prefix+i+"','rrSentencesCol"+index+impression_prefix+i+"');\">" 
          + "<td><div id='rrSentencesCol"+index+impression_prefix+i+"'>" 
          + "<a onmouseover=\"makeDivVisibleRR('rrSentences"+index+impression_prefix+i+"');\" onmouseout=\"makeDivHiddenRR('rrSentences"+index+impression_prefix+i+"');\">" 
          + "<b><font color='#0000FF'><input class='rrPart' id='rrGroup"+index+impression_prefix+i+"' type='checkbox' value='GROUP' onclick='javascript:otherForm(\"rrChkGrp"+index+impression_prefix+i+"\",\"rrGroup"+index+impression_prefix+i+"\");'>"+final_comorb[i][1] 
          + "</font></b></a></div>"; 

       tableBody += "<div id='rrChkGrp"+index+impression_prefix+i+"' style='display: none; margin-left: 60px;'>"; 

       for(var j=2; j<final_comorb[i].length; j++) { 
        for(var k=0;k<final_comorb[i][j].length;k++){ 
        tableBody += "<br><input class='rrPart"+index+impression_prefix+i+"' id='rrGrp"+index+impression_prefix+i+"Chk"+j+"' type='checkbox'>"+final_comorb[i][j][k]; 
        } 
       } 
} 
} 

7行目(final_comorb i)第一レベルの用語を表示し、この例の硬膜下に:それらを表示するためのコードは次のようなものです。 14行目のfinal_comorb [i] [j] [k]には、上記のオプションが表示されます。これはどうすればいいですか?前もって感謝します。

+0

ラジオボタンを使用する必要があります。 –

+0

デザインにはチェックボックスのみが必要です。これがチェックボックスで実装できる方法はありますか? – Sakshi

+0

これはいくつかのやり方で行うことができます。ラジオボタンをチェックボックスのようにするかjQueryを使うと難しいことではありませんが、バニラJSは厳しいです。 – JordanHendrix

答えて

1

あなたがチェックボックスを維持する必要がある場合thisフィドルを助けることができるかどうかを確認します。

$(function(){ 
    var checkboxBinding = {}; 
    $('[data-binding]').each(function(){ 
    var $this = $(this); 
    var bindingName = $this.data('binding'); 
    if(checkboxBinding[bindingName] === undefined){ 
     checkboxBinding[bindingName] = []; 
    } 
    checkboxBinding[bindingName].push($this); 
    $this.on('change', function(){ 
     if($this.is(':checked')){ 
     var bindingsArr = checkboxBinding[bindingName]; 
     bindingsArr.forEach(function(checkboxItem){ 
      if(checkboxItem !== $this){ 
      $(checkboxItem).prop('checked', false); 
      } 
     }); 
     } 
    }); 
    }); 
}); 
+0

ちょっとこの回答は素晴らしいです!どうもありがとう。 1つのクエリ - あなたはデータバインディング=「外傷性 - 非外傷性」などを使用しています。しかし、これらの値は必ずしも同じではないかもしれません。これは、final_comorb配列で得られる値が何であるかによって異なります。これはプログラムの実行によって異なります。動的にする方法はありますか? – Sakshi

+0

そのダイナミックも現在のように、結合したいチェックボックスの 'data-binding'値を同じにしてください。それがあなたを助けたならば、答えを受け入れたものとしてマークしてください。 – Raman

+0

ちょっと、データバインディング値を同じにして、このようなことを意味しますか?final_comorb [0] [0] [0]とfinal_comorb [0] [0] [1]は同じデータバインディング値を持つ必要がありますか?なぜならコードのようにforループの配列を調べているからです。 – Sakshi

0

これは、あなたがINTOチェックボックスを求めているデフォルトの機能を持っているラジオボタンを、スタイルに、一つの方法である:

HTML:

<label><input type="radio" name="radio"> traumatic</label> 
<label><input type="radio" name="radio"> non traumatic 2</label> 

<div></div> 

<label><input type="radio" name="radio"> acute</label> 
<label><input type="radio" name="radio"> chronic 2</label> 
  • 私だけでそのdiv要素を置きます入力を次の行にキックするためにそこに

CSS

input[type="radio"] { 
    -webkit-appearance: checkbox; 
    -moz-appearance: checkbox;  
} 

Example working JSFiddle

+0

あなたは今それをきれいにするいくつかのスタイルを追加することができます...幸運、興味深い質問! – JordanHendrix

+0

ねえ、これは良い答えです。助けてくれてありがとう。しかし、別の問題があります。 5つのオプションから2つのラジオボタンを同時に選択したいのです。一緒に選択できる組み合わせは、急性および外傷性、急性および非外傷性、慢性および外傷性、慢性および非外傷性である。一緒にはならない選択肢は、2つの急性および慢性、外傷性および非外傷性である。だから、最初に急性と慢性をチェックすると、急性は自動的にチェックされなくなるはずです。この複数の選択は、ラジオボタンでは不可能です。 – Sakshi

+0

それでは、そのようなことをする必要があります。そして@Ramanの答えをお試しください。しかし、彼は私にそれを打つので、私は彼のカルマを狙って、本質的に同じものを与えようとしません。 – JordanHendrix

関連する問題