2016-07-21 2 views
0

선택한 목록을 변수로 전달하려고합니다. 이처럼 나를 인쇄 undefined 가치.여러 선택된 목록을 변수로 전달하는 방법은 무엇입니까?

function showUserOptions(a) 
{ 
    var b = console.log(a[a.selectedIndex].value); 
    alert (b); 
} 

내가 console.log를 사용하여 값을 얻을 수 있지만 사용자가 변수 안에 값이 변경됩니다 선택 목록을 클릭합니다.

형태 :

<div class = "form-group"> 
      <label for = "to" class = "control-label">To:</label> 
      <select onChange = "showUserOptions(this)" name = "to" class = "form-control" multiple> 

      @foreach ($result as $list) 
       <option value = "{{ $list->id }}">{{ $list->username }}</option> 
      @endforeach 

     </select> 
</div> 

컨트롤러 :

public function getDocuments() 
{ 
    $result = DB::table('users')->where('id', '!=', Auth::id())->get(); 

    return view ('document.create')->with('result', $result); 
} 
+0

'onChange'를 사용하면 안됩니다. 대신에'on()'이벤트 핸들러를 사용하십시오. – Wistar

+0

그냥 선택한 목록을 변수에 전달하고 싶습니다. – Francisunoxx

답변

0

이 아래로 드롭에 ID를 제공하고,이 같은 여러 값을 보유 할 수 있도록 그 이름이 배열 될 것이다 :

<select name="myDropDown[]" id="myDropDown" class= "form-control" multiple> 

     @foreach ($result as $list) 
      <option value = "{{ $list->id }}">{{ $list->username }}</option> 
     @endforeach 

    </select> 

$('#myDropDown').change(function(){ 
     var selectedVal = $(this).val();  
    // it will return the selected values in an array 
}); 

시도해보십시오. 작동합니다.

+0

어이이 작품! 왜 내 이름 안에 배열을 넣어야합니까? 변수에 해당 값을 전달하고이를 데이터베이스에 삽입 할 수 있습니까? – Francisunoxx

+1

1. 다중 선택 드롭 다운에서 여러 값을 선택할 수 있고 단일 변수가 여러 값을 가질 수 없기 때문에 배열이 필요합니다. 2. 예, 아약스 호출에서 selectedVal을 사용하여 데이터베이스에 값을 저장할 수 있습니다. 즐기십시오 :) –

+0

보세요. 귀하의 예제에서는이 값을 배열로 가져올 수 있습니다. 너는 생명의 은인이야! ajax 호출을 사용하지 않고 이것을 삽입 할 수 있습니까? 아약스 사용 경험이 없기 때문에. $ 아약스 ({ \t URL \t : 'save_data.php', \t 방법 \t : :) – Francisunoxx

관련 문제