2014-10-23 3 views
-1

동적 인 드롭 다운 수가 있습니다. 첫 번째 드롭 다운에서 값을 선택하면 초의 값이의 첫 번째 드롭 다운과 동일하게됩니다. 그러나 사용자는 초의 값을 변경하는 등의 방법으로을 드롭 다운하지만 첫 번째 및 다른 드롭 다운의 값은 변경하지 않습니다.첫 번째 드롭 다운과 동일한 값으로 두 번째 드롭 다운을 작성하십시오.

<select name="dropdown[]"> 
    <option value="1">Sony</option> 
    <option value="2">Nintendo</option> 
    <option value="3">Microsoft</option> 
</select> 

<select name="dropdown[]"> 
    <option value="1">Sony</option> 
    <option value="2">Nintendo</option> 
    <option value="3">Microsoft</option> 
</select> 

<select name="dropdown[]"> 
    <option value="1">Sony</option> 
    <option value="2">Nintendo</option> 
    <option value="3">Microsoft</option> 
</select> 

어떻게이 사용 자바 스크립트 또는 JQuery와 라이브러리를 달성 할 수 ?

+0

당신이 지금까지 가지고 위치를 정확히 붙어 있습니까? – jeroen

+0

@jeroen - 사실, 아직 아이디어가 없습니다. 하지만 첫 번째 드롭 다운부터 두 번째 드롭 다운이 채워지기 전에 했었습니다. 하지만 지금 당장은 첫 번째 드롭 다운과 동일한 값을 원했습니다. 도움이 기꺼이 감사드립니다. –

+0

계단식 드롭 다운을 사용하는 이유는 무엇입니까? 당신은'multiple' 속성을 사용할 수 있습니다. 여러 값을 선택할 때 동일한 의도를 제공합니다 – Ghost

답변

2

첫 번째 선택 요소에 리스너를 첨부 할 수 있습니다 :

var selects = document.querySelectorAll('select[name="dropdown[]"]'); 

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

첫 번째 선택 값만 변경되면 다른 선택 값도 업데이트됩니다. 이 방법은 타사 라이브러리에 의존하지 않습니다.

데모 : http://jsfiddle.net/cuefb9ag/

+0

위대한 답변 주셔서 감사합니다! 그러나 첫 번째 드롭 다운 값이 표시되거나 제출되지 않습니다. 어떤 좋은 이유 또는 그것을 고치는 방법? –

+0

@LoganWayne 당신은 데모에서 그것이 잘 작동한다는 것은 무엇을 의미합니까? 추가 컨텍스트를 제공 할 수 있습니까? – 0x8890

+0

데이터를 제출하면 첫 번째 배열의 값은 0입니다. –

2

change 이벤트를 사용하고 다른 드롭 다운을 변경 :

$("select[name=dropdown\\[\\]]").change(function() { 
    var value = this.value;  
    $("select[name=dropdown\\[\\]]").not(this).val(value); 
}); 

데모 : http://jsfiddle.net/awv14f6r/1/

당신이 순서를 변경하려는 경우는 (첫 번째, 등 변경) - 사용 next과 함께를 this

$(this).next("select").val(value); 
+0

감사! 이것은 실제로 훌륭합니다. 그러나 두 번째 드롭 다운은 다른 드롭 다운을 변경하지 않고 사용자가 변경할 수 있습니다. –

+2

@LoganWayne - 네 - 답변을 순서대로 변경하는 방법이나 그 시작을 포함하도록 답변을 편집했습니다. – tymeJV

0
var id = $('#DropDownID1 option:selected').val(); 
var textValue = $('#DropDownID1 option:selected').text(); 
     $('#DropDownID2').prop('selectedIndex', 0); 
     $('#DropDownID2').select2('data', { 
      val: id, 
      text: textValue 
     }); 
     $('#DropDownID2 option:selected').val(id); 
    } 
관련 문제