0

基本的に、1つ以上のドロップダウンを作成します。これには、値として数値が含まれます。

<select id="dp1">
<option value='op1'>1</option>
<option value='op2'>2</option>
<option value='op3'>3</option>
</select>

<select id="dp2">
<option value='op1'>1</option>
<option value='op2'>2</option>
<option value='op3'>3</option>
</select>

<select id="dp3">
<option value='op1'>1</option>
<option value='op2'>2</option>
<option value='op3'>3</option>
</select>

これは1つのドロップダウンです。たとえば、デフォルト値が異なる同じ番号のドロップダウンリストが3つあるとします。dp1-> 1、dp2-> 2、dp3->3。したがって、ユーザーが他のドロップダウンリストの値の値を変更すると、およびdp3 to 1のようなシーケンスに従って自動的に変更されるはずです。dp1 -> 2dp2 -> 3

他の例で説明すると、ユーザーが値の値を変更するdp3 to 2と、のdp1 should not change値が変更されdp2 -> 3ます。

Javascript/jqueryを使用してどのように行うことができますか。(データベースからドロップダウンにデータを入力するためにphpを使用しています)

前もって感謝します。

4

2 に答える 2

0

以前のドロップダウンリストを変更したいだけの場合は、現在のドロップダウンリストを変更して購入すると、このサンプル コードが役立つ可能性があります。

$("select").change(function(){
    var selectValue = $(this).val();
    var toRemove = 'op';
    var value  = selectValue.replace(toRemove,'');
    var selectId = $(this).attr('id');
    var toRemove = 'dp';
    var id = selectId.replace(toRemove,'');
    id = id-1;
    for(var i = id; i>=1; i--){
         value = value -1;
         var newValue = "op"+value;
         $("#dp"+i).val(newValue);
      }
    });
于 2013-01-21T19:39:03.270 に答える
0

使用しているデータが実際には単なる数値である場合、このようなものが機能します。あなたが探していると思う動作を示すjsfiddleの例については、ここをクリックしてください。

<select id="dp1" class="dropdown"></select>
<select id="dp2" class="dropdown"></select>
<select id="dp3" class="dropdown"></select>

<script type="text/javascript">                     
var values = [1, 2, 3];

$(function() {
  initDropdowns();

  $('select.dropdown').change(function() {
    setDropdownValues($(this).attr('id'));                  
  });
}); 

function initDropdowns() {
  var optionsHtml = '';

  for(var i = 0; i < values.length; i++) {              
    var value = values[i];
    optionsHtml += '<option value="' + value + '">' + value + '</option>';
  }

  $('select.dropdown').append(optionsHtml);
    setDropdownValues();                
}

function setDropdownValues(excludeListId) {
  var valuesClone = values.slice();
  var $dropdowns = $('select.dropdown');

  if(excludeListId) {
    valuesClone.splice(Number($('#' + excludeListId).val()) - 1, 1);
  }             

  $('select.dropdown').each(function() {
    if($(this).attr('id') !== excludeListId) {
      $(this).val(valuesClone[0]);
      valuesClone.splice(0, 1);
    }                   
  });   
}
</script>   
于 2013-01-21T19:35:42.740 に答える