2013-05-07 2 views
0

jQuery 함수에서 저는 .get을 사용하여 일부 XML 데이터를 반환합니다. & 다음 드롭 다운 상자를 채우는 데 사용합니다. 나는 선택의 <OPTION> 태그를 구축하는 데 사용하는 코드는 다음과 같습니다jQuery 드롭 다운 상자는 항상 첫 번째 항목을 표시합니다.

$.get(sURL, function(data) { 
    var select = $("#dList"); 
    $(data).find("Row").each(function() { 
    var mgid = $(this).find("MessageGroupID").text(); 
    var gname = $(this).find("GroupName").text(); 
    var option = $("<option>" + gname + "</option>"); 
    option.attr("value", mgid); 
    select.append(option); 
    }); 
}); 

구문 분석되고있는 XML입니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<Rowsets DateCreated="2013-05-07T11:33:51" EndDate="2013-05-07T11:33:51" StartDate="2013-05-07T10:33:51" Version="1.1.1"> 
<Rowset> 
<Columns> 
<Column Description="MessageGroupID" MaxRange="1" MinRange="0" Name="MessageGroupID" SQLDataType="4" SourceColumn="MessageGroupID"/> 
<Column Description="GroupName" MaxRange="1" MinRange="0" Name="GroupName" SQLDataType="12" SourceColumn="GroupName"/> 
</Columns> 
<Row> 
<MessageGroupID>1</MessageGroupID> 
<GroupName>First Shift</GroupName> 
</Row> 
<Row> 
<MessageGroupID>4</MessageGroupID> 
<GroupName>Alternate First Shift</GroupName> 
</Row> 
<Row><MessageGroupID>7</MessageGroupID> 
<GroupName>Temporary First Shift</GroupName> 
</Row> 
</Rowset> 
</Rowsets> 

내가 아래 문서에서 드롭을로드 함수를 호출합니다. 스크립트의 준비 부분.

3 행이 반환되면 첫 번째 행은 항상 드롭 다운 상자에 표시됩니다. 나는 빈 줄 앞에 추가하는 경우 또는 :

var blankline = $("<option value='' selected='selected'></option>"); 

을 나는 다운 상자 빈 드롭을 얻을,하지만 지금은 드롭 다운에서 4 개 항목 (빈 + 3 내가해야)가 있습니다. 나는 selectedindex = -1로 설정하는 것이 좋다고 생각했지만,이 항목들은 정적이 아니기 때문에 효과가 없습니다.

드롭 다운 상자에 공백/비어있는 표시 값을 둘뿐만 아니라 실제 옵션 목록에 적절한 수의 항목이 있습니까?

감사합니다.

S

답변

1
$(document).ready(function() { 
    $('select').click(function(){ 
     $(this).children(':eq("0")').hide(); 
     $(this).unbind('click'); 
    }); 
}); // untested Code 

편집 :

마지막으로 asked이 SO에 .. 나는이에 자신을 혼란스러워했다 ...

$('select').one('mousedown',function(){ 
    $("option:first",this).remove(); 
}); 

을이 시도하고 마침내 도착하시기 바랍니다 아름다운 대답 ..

+0

이것은 Fi에서 잘 작동하는 것 같습니다. refox,하지만 IE에서는 그렇지 않습니다. Google 크롬은 조금 다른 작업을 수행합니다. 드롭 다운에 빈 행이 숨겨 지지만 목록이 다시 병합되지는 않습니다. 드롭 다운을 두 번 클릭하지 않는 한 마지막 항목이 반복되지만 선택할 수는 없습니다. 내가 보는 오류를 던지고있는 것은 아무것도 없습니다. 왜 이런 식으로 행동했는지 모든 아이디어? –

+0

지금 확인하십시오 ... – writeToBhuwan

+0

감사합니다. 그것은 지금 3 개의 브라우저 모두에서 유사하게 행동하는 것으로 보인다. 드롭 다운 메뉴에서 클릭하면 상자가 첫 번째 항목과 함께 자동으로 채워지며 초기 질문의 출처로 돌아갑니다. 귀하의 게시물을 통해 지금도 읽을 수 있습니다. –

관련 문제