0

2 つの選択タグから入力タグにテキスト値を格納しようとしています。2 番目の選択タグの値は最初の選択タグに依存します。this に対して実行されている JavaScript があり、次のようになります。

  <script>
  function byId(e) {return document.getElementById(e);}

  function categoryComboChange()
  {
  var combo1 = byId('categoryCombo');
 var combo2 = byId('subcategoryCombo');
 alert(combo1.value);

emptyCombo(combo2);
switch(combo1.value)
{
    case '-1':  addOption(combo2, -1, '-select category first-');
                break;
    case '0':   addOption(combo2,0,'Nokia');
                addOption(combo2, 1, 'Samsung');
                addOption(combo2, 2, 'Sony');
                addOption(combo2, 3, 'Iphone 5');
                addOption(combo2, 4, 'Lava');
                addOption(combo2, 5, 'Micromax');

                break;
    case '1':   addOption(combo2, 2, 'Edge Router');
                addOption(combo2, 3, 'Subscriber Edge Router');
                addOption(combo2, 4, 'Inter-provider Border Router');
                addOption(combo2, 5, 'Core Router');
                addOption(combo2, 6, 'Wired and Wireless Routers');

                break;
    case '2':       addOption(combo2, 4, 'MTS');
                addOption(combo2, 5, 'Docomo');
                addOption(combo2, 5, 'Airtel');
                addOption(combo2, 5, 'Photon');
                addOption(combo2, 5, 'Idea');
                addOption(combo2, 5, 'Vodafone');

                break;
    }
  subcategoryComboChange();
      }

   function subcategoryComboChange()
      {

  var Category = document.getElementById('subcategoryCombo').value;







// Used desired display of following commands 

document.getElementById('cvalue').value = Category;





     }

      function emptyCombo(e)
      {
   e.innerHTML = '';
       }

      function addOption(combo, val, txt)
         {
  var option = document.createElement('option');
  option.value = val;
  option.title = txt;
  option.appendChild(document.createTextNode(txt));
   combo.appendChild(option);
   }

  </script>

必要な要素を含む私のjspページは次のようになります。

        <div class="element">
                    <label for="category">Category </label>
                    <select id='categoryCombo'             onchange='categoryComboChange();'>
    <option value='-1' title='-select one-'>-select one-</option>
    <option value='0' title='Mobile'>Mobile</option>
    <option value='1' title='Nsw'>Routers</option>
    <option value='2' title='Tas'>Datacard</option>
</select>
                                        </div>

                <div class="element">
                    <label for="category">Sub-Category </label>
                     <select id='subcategoryCombo' name="category" onchange='subcategoryComboChange();'>
    <option value='-1' title='-select category first-'>-select category first-</option>
</select>
                </div>


                  <div class="element">
                <input id="cvalue" name="cval" class="text err" />

                        </div>                      

現在、選択に応じて、0、1、2 などの数値の形式で値を取得できますが、入力タグにテキスト値を表示する必要があります。たとえば、モバイルの場合、nokia、samsung、など。このタスクを実装するためにコードを変更する必要がある場所を誰かが提案できますか?

4

1 に答える 1

2

試す:

function subcategoryComboChange()
{
 var Category = document.getElementById("subcategoryCombo");
var subCat = Category.options[Category.selectedIndex].text;
document.getElementById('cvalue').value = subCat;
}

DEMO FIDDLE

于 2013-09-07T06:58:54.507 に答える