2012-09-18 6 views
1

가능한 중복 :
Adding additional data to select options using jQuery할당 및 사용하여 드롭 다운 목록에서 여러 값을 검색 jQuery를

의 "를 사용하는 것보다 다른 하나의 HTML 요소에 여러 값을 asign 할 수있는 방법이 있나요 가치 "를 부여하고 토큰으로 재생하여 콘텐츠를 분할 할 수 있습니까?

나는 같은 것을 할 싶습니다 :

<select id="car_model"> 
    <option value="1" value2="seddan" value3="Volvo">Volvo S60</option> 
    <option value="2" value2="compact" value3="Saab">Saab s93</option> 
    <option value="3" value2="convertible" value3="Mercedes">Mercedes SLK</option> 
    <option value="4" value2="compact" value3="Audi">Audi 3</option> 
</select> 

당신은 어떻게 jQuery를 사용하여 선택된 옵션의 모든 값을 검색 할 수 있습니까?

+0

하여 더 의미가 있습니다. 대신에'data- *'속성을 사용하십시오. – Andreas

+0

중복 된 http://stackoverflow.com/q/4564659/41688 – BryanH

답변

0

몇 가지 생각이 듭니다. 당신이 암시로 당신은, 너무 같은 분리의 일종으로 value 요소에 모든 데이터를 포함 할 수있다 :

<option value="1,seddan,Volvo">Volvo S60</option> 

다른 옵션은 데이터 주석을 사용하는 것입니다 :

<option value="1" data-value2="seddan" data-value3="Volvo">Volvo S60</option> 

을 어느 당신은 당신이 그것을 어떻게 사용할 지에 따라 많이 달라집니다. 데이터 사용 계획에 대해 좀 더 구체적으로 설명하면이 답변을 업데이트 할 수 있습니다.

var values = $('#car_model').val().split(','); 
console.log(values[0]); // prints 1 
console.log(values[1]); // prints "seddan" 
console.log(values[2]); // prints "Volvo" 

을 그리고 두 번째 경우에, 그 결과는 다음과 같습니다 :

은 첫 번째 경우에 데이터를 검색하기 위해서는 다음과 같을 것이다

console.log($('#car_model').val());   // prints 1 
console.log($('#car_model').data('value2')); // prints "seddan" 
console.log($('#car_model').data('value3')); // prints "Volvo 
+0

데이터 주석이 도움이 될 것 같습니다. 나는 HTML을 이렇게 할 경우 유효성을 검사한다고 가정한다. –

+0

데이터 속성은 유효한 HTML 5입니다. http://ejohn.org/blog/html-5-data-attributes/ –

0

여러 값을 지정할 수 있습니다 attr 메서드를 사용하여 검색하십시오.이 작업을 시도해 볼 수 있습니다 ..

​$('#car_model').on('change', function() { 
    var val = $(this).find('option:selected').attr('value'); 
    var val2 = $(this).find('option:selected').attr('value2'); 
    var val3 = $(this).find('option:selected').attr('value3'); 
    alert('Value - '+ val + ':: Value2 - '+ val2 + ' :: Value3 - '+ val3) 
});​ 

하지만 값을 식별자는 어쩌면 쉼표 나 슬래시

확인 유효한 HTML을 없다 FIDDLE

+0

답장을 보내 주셔서 감사합니다. 다른 질문은 HTML 유효성 검사를 통과하는 2 가지 솔루션을 제공하므로 유효하다고 투표했습니다. –

관련 문제