2016-08-15 16 views
1

私はここにjavascriptでいくつかの問題があります。 誰かにオプションとチェックボックスを選択させてください。両方をチェックすると、他のチェックボックスはクリックできません。 私は関数に2つのパラメータを与えようとしました(1つはオプション用で、もう1つはチェックボックス用です)。選択したオプションとチェックボックスがオンになっていることを確認してください。

function bs(id /*,chbxvalue */) 
{ 
    var selectElement = document.getElementById(id); 
    var selectValue = selectElement.options[selectElement.selectedIndex].value; 

    //var select2Element = document.getElementById(chbxvalue); 
    //var selectCHBXval = select2Element.options[select2Element.selectedIndex].value; 

    if((selectValue == "banana") /*&& (document.getElementById("apple").checked == true)*/) 
    { 
     document.getElementById("juice").checked = true; 
    } 
    else if(selectValue == "Salad") 
    {} 
} 

コメントの中の物は動作しません。

ここで名前を変更しました。誰かアイデアはありますか?申し訳ありませんが、私はjavascriptでうまくいきません...。

+0

選択されている場合です。このタイプミス 'VAR selectValue = selectElement.options [ selectElement.selectedIndex。] value; '? – Rohit

+0

私はそれが 'var selectValue = selectElement.options [selectElement.selectedIndex] .value;' – Rohit

+0

'document.getElementsById()'が存在しないと思います。メソッド呼び出しで 's'を確認してください。与えられた 'id'を持つ*要素が1つだけでなければならないので、あなたは単数形を使う必要があります。したがって、 'getElementById()'( 's'文字を削除する)でなければなりません。 –

答えて

0

あなたは、あなたが一度に多くのチェックボックスを無効にしたい場合、または単に

document.getElementById("...").disabled=true; 

を使用するように彼らにクラスを割り当て、

elements = document.getElementsByClassName("my_class"); 
for(var i = 0; i < elements.length; ++i) 
{elements[i].disabled = "true"; } 
0

私は使用したいような音これがあなたの後ろであるかどうかは確かではありませんが、何らかの条件付きロジックが必要なようです。これは、ラジオボタンを選択の上、イベントを変更する機能を結合し、その後、あなたはそれがやりたいものは何でもするために、異なる値にスイッチを使用していますhttps://jsfiddle.net/75uLereo/

var radios = document.myform.type, 
    select = document.myform.flavor; 

for(var i = 0; i < radios.length; i++){ 
    radios[i].addEventListener('change', checkValues); 
} 

select.addEventListener('change', checkValues); 


function checkValues(){ 
    var select = document.myform.flavor, 
    selectedValue = select.options[select.selectedIndex].value, 
    radioValue = document.querySelector('input[name = "type"]:checked').value; 

    if(radioValue !== "undefined"){  
     switch(selectedValue){ 
     case 'none': 
     case 'banana': 
     case 'strawberry': 
      alert("This is "+selectedValue+" and "+radioValue+". Do some conditional logic with the values!"); 
      break; 
     default: 
     break; 
     } 
    } 

} 

:私はそれを説明するためのフィドルを作りました。

更新:

が、私は別の例を作った、チェックボックスやチェックボックスからbool値でそれらが

https://jsfiddle.net/75uLereo/2/

+0

さて、これはチェックボックスのロジックと同じです(質問にチェックボックスが付いていないことがわかりましたが)。あなたがより良い説明を与えることができれば、私はより良い説明と例を与えることができます。 – Imbue

+0

私は上記のフィドルで更新された答えを出しました。それをチェックしてみてください。 – Imbue

+0

しかし、少なくともこれは問題をあなたがどこでチェックしているかに対処します。この例では、あなたが質問したように、bool if-statementが動作していることをはっきりと見ることができるので、少なくともそれを得ることができます。私はまだあなたがあなたのためにすべての仕事をしている人を持っているかどうかは分かりませんが、少なくとも幸運はあります! – Imbue

関連する問題