2014-12-14 1 views
0

내 JS 내 데이터를 호출 값이 아닙니다 너무 일하고 .. 지금은 옵션 값이 아닌 알파 텍스트 순서로 선택 목록을 다시 주문해야합니다.자바 스크립트 순서 선택 목록과 아주 잘 나는 카테고리를 선택 옵션의 텍스트의 변경을하고 그것의 동적 3 단계 옵션을 선택 메뉴를</p> <p>를 구축하기 위해 노력하고있어,

내 JS :

if (window.XMLHttpRequest) { 
oXmlhttp = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { 
oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

function selectManufacturer(id) { 
document.getElementById('subcategory').innerHTML = ""; 
oXmlhttp.open('POST',"recherche-listesderoulantes-resultats.php"); 
oXmlhttp.onreadystatechange=function() { 
if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) { 
leselect = oXmlhttp.responseText; 
document.getElementById('category').innerHTML = leselect; 
} 


var strMessage1 = document.getElementById("category") ; 
strMessage1.innerHTML = strMessage1.innerHTML 
.replace('option value="13446">XXXXX</option>','<option value="13446">NEW TEXT 1</option>') 
.replace('option value="13449">YYYYY</option>','<option value="13449">NEW TEXT 2</option>'); 
} 
    oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
var data = 'q=m&id='+id; 
oXmlhttp.send (data); 
} 
function selectCategory(manufacturer,category) { 
oXmlhttp.open('POST',"recherche-listesderoulantes-resultats.php"); 
oXmlhttp.onreadystatechange=function() { 
if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) { 
leselect = oXmlhttp.responseText; 
document.getElementById('subcategory').innerHTML = leselect; 
} 
} 
oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
var data = 'q=c&manufacturer='+manufacturer+'&id='+category; 
oXmlhttp.send (data); 

MY HTML

<form method="get" action="recherche-listesderoulantes-resultats.php"> 
    <select style="width: 80%" id="manufacturers_id" name="manufacturers_id" onchange="selectManufacturer(this.value);"> 
<option value='-1'>Select</option> 
<option value="1739" >Brand</option><option value="5794" >Brand 1</option>$<option  value="1753" >Brand 2</option></select> 
<div id='category' style='display:inline'> 
</div> 
<div id='subcategory' style='display:inline'> 
</div> 
</form 

모든 것은 지금도 좋아하지만 내가 텍스트 알파를 가지는, 카테고리 목록의 새로운 질서를 만들 수있는 방법을 이해하려고 해요 값을 대체하고 값 옵션이 아님 ...

감사합니다 !!!

답변

0

당신이 종류의 요소에 자바 스크립트를 사용할 수 있지만, 당신은 옵션 요소의 텍스트에서 배열을 만들 수 있습니다 후 다음과 같이 옵션 요소의 텍스트를 재설정 :

var sel = document.getElementById('manufacturers_id'); 
var asel = []; 
for (var i=1; i<sel.length; i++) { //omit Select 
    asel.push(sel[i].text); 
} 
asel.sort() 
for (var j=0; j < asel.length;j++) { 
    sel[j+1].text = asel[j]; 
    alert(sel[j+1].text); 
} 

나는 브랜드를 변경 jsfiddle 참고를 참조하십시오 1 텍스트를 브랜드 3으로 변경하여 선택 드롭 다운에 새 정렬 된 순서가 반영되었음을 보여줍니다.