2016-10-04 2 views
0

그래서 다중 선택 옵션 입력 인 웹 페이지에 양식이 있습니다. 형태가 배열 내에서 선택한 옵션이 저장되어 제출되면다중 선택 목록 미리로드

<option name="testData" multiple="multiple"> 
    <select value="1">Option 1</select> 
    <select value="2">Option 2</select> 
    <select value="3">Option 3</select> 
    <select value="4">Option 4</select> 
    <select value="5">Option 5</select> 
</option> 

(예. 1,2,3)

문제는 내가 페이지를 방문하면 내가 데이터를 다시 분할 할 것입니다 개별 값으로 변환하고 이전에 선택되었는지 다시 한번 확인합니다.

따라서이 경우 값 1,2,3은 선택 메뉴에서 이미 선택되었을 것입니다.

정보는 데이터베이스에 저장되어 있으며 올바르게 입력됩니다. 내가 부탁하는 것은 가치 (1,2,3 등)를 취하고 각각을 옵션 목록에서 선택된 옵션으로 식별하는 방법이다. 사용자는 필요에 따라 수정할 수 있습니다.

가능한 경우 jquery로이 작업을 수행 할 수 있습니까? Javascript도 괜찮습니다.

이 조금 더 설명이 필요 내가

+1

그것해야 할'<선택 이름 = "testdata로"여러 = ​​"복수"> 옵션 1' – Satpal

+0

유일한 문제는 값이 항상 1,2,3 일 수는 없다는 것입니다. 예를 들어 1,2,5 또는 1,3,4,5와 같이 다른 값일 수도 있습니다. 하지만 항상 항상 값 목록에서 찾은 값 – Tomatron

+0

값 배열을 얻기 위해 ajax 호출을 할 수 있습니다. –

답변

1

선택한 옵션 배열을 세션에 저장하는 것입니다. 저장 (같은 페이지가 다시로드 될 때

// When your user clicks on the submit button 
$("#id_of_your_submit_btn").click(function() { 
    // store the selected options into the sessionStorage 
    sessionStorage.setItem('my_array_of_selected_values', array_of_selected_options); 
}); 

그런 다음 동적 이전에 선택한 옵션을 선택한 다음이 sessionStorage이 설정되어 어떠했는지를 확인할 수 있습니다 (당신이 AJAX 호출을 피하려면, 더 빨리 스크립트를 만들 것입니다) Alexandru가) 제안

$(document).ready(function() { 
    console.log("ready!"); 
    var selected_options = sessionStorage.getItem('my_array_of_selected_values'); 
    if(selected_options) { 
     // if something is set into this sessionStorage variable 
     // we select the options dynamically 
     $("[name='testData']").val(selected_options); 
    } 

}); 

NB : 대상 브라우저가 지원되는지 확인 https://developer.mozilla.org/fr/docs/Web/API/Window/sessionStorage

+0

감사합니다. 이것이 작동 할 수 있다고 생각합니다. 'my_array_of_selected_values'에 무엇이 들어가는 지 확인하십시오. 이것은 선택 목록의 이름일까요? 예.'testData' 바보 같은 질문에 사과드립니다. – Tomatron

+0

걱정하지 마라. 'my_array_of_selected_values'는 sessionStorage 변수의 이름이다. 'testData'는 옵션 HTML 태그의 이름입니다. 변수'array_of_selected_options'는 배열'[1,2,3]'로 설정되어야합니다. 희망이 도움이됩니다. – maximilienAndile

0

이 시도하십시오 사전에

감사 어떤 쿼리에 응답하기 위해 최선을 다하겠습니다 있으면 알려

$("[name='testData']").val([1,2,3]); 

또는

하자
$("select").val([1,2,3]);