1
과정은 간단하다 : 텍스트 상자 드롭 다운 목록의 텍스트 상자 텍스트 인 경우 다시 게시를 방지하는 방법은 무엇입니까?
- 텍스트 입력 텍스트 값을 업데이트 드롭 다운 목록의 값과 일치합니다.
- 텍스트가 드롭 다운 목록의 값과 일치하지 않으면 ASP.NET onTextChanged 이벤트를 사용하여 포스트 백을 수행하십시오. 은 (여기에 문제가있다. 아래의 코드는 현재 모든 경우에 다시 게시를 방지)
<asp:DropDownList ID="d" runat="Server" AppendDataBoundItems="true"/> <asp:TextBox ID="t" runat="Server" AutoPostBack="true" onchange="if(!test(this)) return false;"/>
JQUERY
$(function test() { var d = ('#<%= d.ClientID%>'), t = ('#<%= t.ClientID%>'); $(d + ',' + t).on('change', function() { var val = this.value; $(d + ' option').each(function() { if (this.value == val) { $(d + ',' + t).val(val); return false; } return true; }); }); });
이 코드는 업데이트를 위해 완벽하게 작동
HTML을 드롭 다운 값 이 코드는 모든 경우에 다시 게시를 방지합니다.
나는 문제는 onchange가 텍스트 박스에서 해고되고 자바 스크립트 onchange 내의 후속 코드가 작동하지 않는다고 생각한다.
을 변경하는 경우 textbox 및 postback을 방지/허용하십시오. –
변경 방법을 먼저 시도하십시오. AutoPostBack = "false"그렇지 않으면 서버에 계속 제출하고 서버 값을 아약스 호출로 시도하여 데이터를 가져 와서 텍스트 값이 아니라면 드롭 다운으로 채 웁니다. 이미 거기 –
$ (d + ','+ t) 이것은 선택 자라고 생각했습니다. 그러나 여기 그것의 명확하지 않습니다. 변경 이벤트가 텍스트 상자 오른쪽에 있습니까? – Amit