2013-07-09 2 views
0

드롭 다운의 변경 기능에서 여러 값에 액세스하는 데 문제가 있습니다.드롭 다운의 변경 기능에서 여러 값 선택

나는 입니다. JSON 형식은입니다.

{ 
lang: [ 
{ 
Code: "ar", 
name: "العربية", 
direction: "rtl" 
}, 
{ 
Code: "da", 
name: "Danske", 
direction: "ltr" 
}, 
{ 
Code: "du", 
name: "Nederlands", 
direction: "ltr" 
}, 
{ 
Code: "en", 
name: "English", 
direction: "" 
}, 
{ 
Code: "es", 
name: "Español", 
direction: "ltr" 
}, 
{ 
Code: "fi", 
name: "Suomeksi", 
direction: "ltr" 
}, 
{ 
Code: "fr", 
name: "Français", 
direction: "ltr" 
}, 
{ 

Code: "ge", 
name: "Deutsch", 
direction: "ltr" 
}, 
{ 
Code: "it", 
name: "Italiano", 
direction: "ltr" 
}, 
{ 
Code: "no", 
name: "Norge", 
direction: "ltr" 
}, 
{ 
Code: "pl", 
name: "Polski", 
direction: "ltr" 
}, 
{ 
Code: "pt", 
name: "Portuguese ", 
direction: "" 
}, 
{ 
Code: "ru", 
name: "Русский", 
direction: "ltr" 
}, 
{ 
Code: "se", 
name: "Svenska", 
direction: "ltr" 
} 
] 

내 드롭 다운/selectbox에서이 JSON에 액세스하기위한 코드입니다.

function loadlanguages(){ 

$.ajax({ 
url:'https://xxxx/json/lang_list.php?json=1&rcg_mobile=2', 
data:'', 
contentType: "application/json; charset=utf-8", 
type: "POST", 
dataType: "json", 
crossDomain:true, 
cache: false, 
async:false, 
success: function(data, textStatus, jqXHR){ 
    var count = data.lang.length; 
    var set_languages=$('#languageselector'); 
    var set_languages_ = ''; 
    set_languages.empty(); 
    for(var i =0;i < count;i++) 
    { 
     set_languages_ += '<option value='+data.lang[i].Code+'>'+data.lang[i].name+'</option>';  
    } 
    set_languages.append(set_languages_); 
    }, 

    error: function(XMLHttpRequest, textStatus, errorThrown){hideLoading();alert_unable_to_access();} 
    }); 

} 

이제 모든 항목이로드되었습니다. 그러나 내가 언어 중 하나를 선택할 때; 나는 해당 "방향"을 얻고 싶습니다.

어떻게 관리 할 수 ​​있습니까 ??? 내가 언어 중 하나를 선택할 때 내가 어떻게 방향을 얻을 수 있을까 ?? 나는 그것의 간단한 것을 생각한다.. 그러나 나는 이것을위한 해결책을 얻지 않았다. 도와주세요 .. !!! :(

+0

나는 data.lang [i] .direction? !!!이라고 말하고 싶습니다. –

+0

을 데이터 방향 –

+0

@roasted로 설정하지만 드롭 다운에서 값과 텍스트를 전달합니다. 그럼 내가이 방향을 어떻게 바꿀 수 있니? 도와 주실 래요? –

답변

2

같은 성공의 방법 내부 옵션에 data-* 속성을 설정합니다

'<option data-direction="' + data.lang[i].direction + '" value='+data.lang[i].Code+'>'+data.lang[i].name+'</option>' 

와 JS 코드에서 당신은에 줄을 수정

$('#languageselector option:selected').data('direction'); 
1

처럼 그것을 얻을 수 있습니다

루프에서
set_languages_ += '<option _direction='+data.lang[i].direction+' value='+data.lang[i].Code+'>'+data.lang[i].name+'</option>'; 

.

그리고

$('#languageselector').change(function(){ 
    console.log($('#languageselector').attr('_direction')); 
    }); 

이됩니다 드롭 다운 메뉴의 변경/선택 값을 가져

1

변경하여 set_languages ​​문자열

set_languages_ += '<option data-direction='+data.lang[i].direction+' value='+data.lang[i].Code+'>'+data.lang[i].name+'</option>'; 

및 변경 사항 리스너는 다음과 같이 보일 것입니다 JS에서 :

$('#languageselector').on("change",function(e){ 
// direction contains the appropriate direction 
var direction = $(this).attr("data-direction"); 
}) 
관련 문제