2013-08-22 2 views
0

에서 드롭 다운리스트 객체에서 ID를 얻어서 드롭 다운리스트에 새 항목을 추가나는 다음과 같은 코드를 사용하고 JQuery와

var objSelect = $(this).parent().parent().find("select"); 

           var mySelect = $('#str_anodshape');//Directly giving id of dropdownlist 
           var myOptions = { 
            val: 'test', 
           }; 
           $.each(myOptions, function (val, text) { 
            mySelect.append(
    $('<option selected="selected"></option>').val(val).html(text) 
); 
           }); 

항목을 추가 할 수 있습니다.

문제 :

당신은 내가 objSelect에서 드롭 다운리스트의 ID를 얻을 때 드롭 다운리스트에 새 항목을 추가 할 수 없습니다입니다 위의 코드에서 볼 수 있듯이.

+0

'선택'의 ID가있는 경우 왜 사용하지 않습니까? 반복되는 id가 유효하지 않다는 것을 고려하면 id가 'str_anodshape'인 요소가 여러 개있는 경우이를 변경해야합니다. –

+0

'mySelect.append'는 c & p 오류입니까? 거기에서 얻은 속성 문자열이 아니라'objSelect'에'.append'해야합니다. – mabi

+0

사실이 자바 스크립트 함수는 13 가지 양식에 공통적이며 각 페이지에는 고유 ID가있는 드롭 다운이 있습니다. – Sunny

답변

2

당신이해야 할 : 당신은 그냥 문자열없이 jQuery를 객체로 ID를 저장하기 때문에

$('#' + mySelect).append($('<option selected="selected"></option>').val(val).html(text)); 

0

귀하의 첫 번째 시나리오 : 여기

var objSelect = $(this).parent().parent().find("select"); 
var mySelect = $(objSelect).attr('id'); 

mySelect 하나의 물체가 아니라 하나의 물체에 작용합니다. 이는 모두 "select"요소를 선택하기 때문입니다. 두 번째 줄은 단순히 집합의 첫 번째 요소 인 id을 가져옵니다. 이 id은 문자열이며 문자열에 추가 할 수 없습니다.

두 번째 시나리오 : (당신은 당신이 고유 ID가 가정 ID로를 선택하는 bcoz) 여기 mySelect

var objSelect = $(this).parent().parent().find("select"); 
var mySelect = $('#str_anodshape'); 

한 개체입니다. objSelect은 중요하지 않습니다.

당신이 첫 번째 시나리오를 변경하는 경우 :

var objSelect = $(this).parent().parent().find("select").first(); 
objSelect.append..... 

는 다음 조작 (들)을 할 수있는 하나의 개체로 세트의 첫 번째 요소를 얻을 수 있기 때문에 그 다음이 작동합니다.

관련 문제