JavaScript를 사용하여 필터링 가능한 드롭 다운 목록을 만들었습니다. 이것은 목록 상자 코딩입니다.모든 컨트롤 용 콤보 상자
<select name="d1" class="leftselect" id="d1" size="5" ondblclick="DropDownTextToBox('d1','t1');" style="display:none;" >
<option>axcsus-COMMON STOCK</option>
<option>aces</option>
<option>bdfs</option>
<option>befs</option>
<option>behs</option>
<option>dfgh</option>
<option>dhes</option>
<option>dwww</option>
<option>pass</option>
<option>pass</option>
</select>
나는 4 개의 텍스트 필드와 화살표 문자를 만들었습니다. 화살표 문자를 클릭하면 컨트롤의 맨 아래에 목록이 표시됩니다.
<div id="div_name" style="float:left;z-index: 20;">
<input name="t1" type="text" id="t1" onkeyup="value_filtering('d1','t1');" onkeypress="onEnter(event,'d1','t1')" />
<input type="button" class="rightselect" onclick="displayList('d1','t1');" value="▼" />
</div>
<div class="inputbox">
<input name="t2" class="inputbox" type="text" id="t2" onkeyup="value_filtering('d2','t2');" onkeypress="onEnter(event,'d2','t2')" />
<input type="button" class="leftselect" onclick="displayList('d1','t2');" value="▼" />
</div>
<div style="float:left;text-align:center;" >
<input name="t3" type="text" id="t3" onkeyup="value_filtering('d3','t3');" onkeypress="onEnter(event,'d3','t3')" />
<input type="button" class="rightselect" onclick="displayList('d1','t3');" value="▼" />
</div>
<div class="inputbox">
<input name="t4" class="inputbox" type="text" id="t4" onkeyup="value_filtering('d4','t4');" onkeypress="onEnter(event,'d4','t4')" />
<input type="button" class="leftselect" onclick="displayList('d1','t4');" value="▼" />
</div>
표시 목록 함수에서 해당 텍스트 위치를 가져오고 텍스트 상자 아래에 목록 컨트롤을 표시했습니다. Okie. 이제 내 문제는 내가 텍스트 상자에서 옵션을 선택하면 목록 상자에 표시된 텍스트 상자에 선택한 값을 표시해야합니다. 목록 상자에서 값을 선택한 후 목록을 표시하는 텍스트 상자에서 어떻게 찾을 수 있습니까? 동적으로 어떻게 텍스트 상자 ID를 찾을 수 있습니까?
이것은 ListBox를 해당 TextBox에 표시하기위한 JS 코드입니다.
function displayList(ele,txt)
{
vis=document.getElementById(ele);
obj=document.getElementById(txt);
if (vis.style.display==="none")
vis.style.display="block";
else
vis.style.display="none";
vis.style.position = "absolute";
//alert(getElementPosition(txt).top + ' ' + getElementPosition(txt).left);
vis.style.top = getElementPosition(txt).top+obj.offsetHeight;
vis.style.left = getElementPosition(txt).left;
}
참고 :이 기능은 화살표 버튼의 클릭 이벤트에서 호출 할 수 있습니다. Field Id 텍스트를 쉽게 전달할 수 있습니다. 하지만 ListBox 액션의 경우 텍스트 필드의 특정 ID를 보낼 수 없습니다.
js 코드를 게시 할 수 있습니까? – hsalama
@hsalama : 나는 위의 질문을 편집했다. 게시물을보십시오. –
jquery 또는 mootools와 같은 라이브러리 사용에 반대하십니까? 당신이 그것을 알기 전에 이것은 매우 지저분해질 것입니다! – hsalama