2013-10-11 1 views
0

첫 번째 필드에서 두 번째 필드를 채우는 제네릭 함수가 있습니다. 라벨이jquery next() 레이블을 건너 뛰려면

next() 

원소로 라벨있을 경우 , 그것은, 문제를 생성한다.

function buildoptions(el){ 
    var element = el.id; 
    var $flda = $('#'+element); 
    var $fldb = $flda.next().next(); //double here to skip the label 
     ..... 
} 

하지만 물론, 내가이 중단 있도록 라벨이없는 몇 가지 필드를 가지고 ...

내가

var $fldb = $flda.next().not(label); 
을 생각했다 :

그래서, 내가 끝낼

이 작동하지만 작동하지 않습니다. 실제로 오류가 발생합니다.

Error: 'label' is undefined 

아이디어가 있습니까?

<TR id="dynrow_table35_1" class=""> 
<TD class="odd"> 
<LABEL for="inp_331">absel</LABEL> 
<SELECT id="inp_331" onchange="buildoptions(this);" name="absel_1"> 
<OPTION value="">Select</OPTION> 
<OPTION value="option1">option1</OPTION> 
<OPTION value="option2">option2</OPTION> 
</SELECT></TD> 
<TD class="odd"><LABEL for="inp_341">No default options</LABEL> 
<SELECT id="inp_341" name="abfil1"> 
<OPTION value="Select Driver First">Select Driver First</OPTION> 
</SELECT> </TD> 
</TR> 

이의는이 동적으로 내장되어 ID가 나는 실제 ID를 결코 알지 못할 것이다 : 나는 또한 표 경우가

<label for="inp_29">Select drives next</label> 
<select id="inp_29" name="driver1" onchange="buildoptions(this);"> 
    <option value="" selected="selected">Select</option> 
    <option value="option1">option1</option> 
    <option value="option2">option2</option> 
</select> 

<!--* SOMETIMES OPTIONAL LABEL*--> 
<label for="inp_30">No default options</label> 
<!--* END SOMETIMES OPTIONAL LABEL*--> 
<select id="inp_30" name="filler1"> 
    <option value="Select Driver First">Select Driver First</option> 
</select> 

: 같은

HTML 보인다. 이것에 대해

+0

무엇 $ flda.nextAll ('입력'). EQ (0)' – Stphane

+1

또한 –

+1

'이 아니요 (라벨)'따옴표를 벗어났습니다하십시오 HTML 추가'에 대해! =>'.not ('label')'... AGILE 문제'^^' – Stphane

답변

2

무엇 ..

var $fldb = $flda.nextAll('input').eq(0); 
+0

또는'$ flda.siblings ('input'). eq (0);' "eq (0)"은 아는 경우 의무 사항이 아닙니다. 형제 간의 다른 입력이 없을 것입니다. – Stphane

+0

이것은 동적 인 형식이므로 많은 다른 입력이있을 수 있습니다. 그리고 '입력'은 '선택'을 포함합니까? – briansol

+0

아니요,'$ flda.siblings ('input, select') .eq (0); ' – Stphane

관련 문제