[英]set dropdownlist value to textbox in jQuery
如果我的下拉列表中選擇了一個值,我想在文本框中顯示所選的項目文本。 如果沒有,我想清空它。
<asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" onselectedindexchanged="ddlSelectedIndexChanged" Width="200px" onchange="ddlChange()">
</asp:DropDownList>
<asp:TextBox ID="hdntxtbxTaksit" runat="server" Visible="false"></asp:TextBox>
我怎樣才能做到這一點?
如果要將下拉列表的選定值分配給文本框,則可以在更改事件中指定不帶和條件,因為change event means dropdown have been selected
。
用javascript
更改
onchange="ddlChange()"
至
onchange="ddlChange(this)"
你的javascrpt方法會是
function ddlChange(ddl)
{
document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = this.value;
}
用jQuery
刪除onchange =“ddlChange()”,因為我們將使用jquery綁定事件。
$('<%= ddl.ClientId %>').change(function(){
$('<%= hdntxtbxTaksit.ClientId %>').val($(this).val());
});
使用jQuery;
$().ready(function(){
$('#<%=ddl.ClientID %>').change(function () {
$('#<%=hdntxtbxTaksit.ClientID %>').val($(this).val() == "0" ? "" : $(this).val());
});
});
編輯:使用上述方法,您不需要調用下拉列表的onchange
事件。 所以你的標記可以
<asp:DropDownList ID="ddl" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlSelectedIndexChanged" Width="200px">
</asp:DropDownList>
<asp:TextBox ID="hdntxtbxTaksit" runat="server" Visible="false"></asp:TextBox>
你可以這樣做
function ddlChange()
{
if(document.getElementById('<%= ddl.ClientId %>').value=='0')
{
document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = "";
}
else
{
document.getElementById('<%= hdntxtbxTaksit.ClientId %>').value = document.getElementById('<%= ddl.ClientId %>').value;
}
}
嘗試此代碼並刪除在asp:dropdownlist中添加的onchange事件
注意: AUTOPOSTBACK屬性將始終執行頁面提交,即使您在ondown方法中返回false,它也不會停止
$(document).ready(function () {
$('#<%=ddl.ClientID %>').change(function () {
if ($(this).val() != "0") {
$('#<%= hdntxtbxTaksit.ClientID %>').val($(this).val());
}
else {
$('#<%= hdntxtbxTaksit.ClientID %>').val("");
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.