2016-09-07 240 views
0

我已經使用這個代碼把選項的下拉列表從數據庫:獲取下拉列表選項的值顯示爲文本框

if (!IsPostBack) 
    {pageloaddata.retrievetbldata("Select EmpId, LastName+', '+FirstName+' '+MiddleName AS EmployeeName from Employee"); 
     DropListEmployeeName.DataSource = pageloaddata.SQLTable; 
     DropListEmployeeName.DataTextField = "EmployeeName"; 
     DropListEmployeeName.DataValueField = "EmpID"; 
     DropListEmployeeName.DataBind(); 
     DropListEmployeeName.Items.Insert(0, "Select") 
} 

所以員工姓名的值必須爲他們的僱員ID( EmpID)

現在我想要發生的是,如果用戶選擇了員工,selectedValue(這是EmpID)必須顯示在文本框中。這裏是很少的代碼創建和不工作,這可能是很容易給別人,我知道,請幫助初學者在這裏謝謝:)

protected void DropListEmployeeName_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string empSelected = DropListEmployeeName.SelectedValue.ToString(); 
    employID.Text = empSelected; 
} 

注:的EmpID在數據庫實際上是一個int,它的問題如果我把它稱爲字符串?如果是,請建議最佳代碼

+0

? –

+0

在這一行放置了斷點'string empSelected = DropListEmployeeName.SelectedValue.ToString();'並檢查你在那裏得到了什麼值。它是空串嗎? – woodykiddy

+0

@woodykiddy我認爲這是假設從下拉列表中獲取Selected選項的值,並將其放入變量:empSelected。例如,我在列表中選擇了wolfQueen,其值爲123. 123現在應該顯示爲僱主ID,即文本框。 – wolfQueen

回答

1

如果您想在更改時使用Jquery捕獲DropDown的值,請查看此示例,我製作了click here或運行下面的代碼段。

$(document).ready(function() { 
 

 
    $("#SelectId").change(function() { 
 
     
 
     var selectObj = $(this); 
 
     
 
     $("#inputID").val(selectObj.val()); 
 
    
 
    }); 
 

 
});
<html> 
 
<head> 
 
<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 
 
</head> 
 

 
<body> 
 

 
<select name="mySelect" id="SelectId"> 
 
    <option value="FirstOption">First Option</option> 
 
    <option value="SecondOption">Second Option</option> 
 
    <option value="ThirdOption">Third Option</option> 
 
    <option value="FourthOption">Fourth Option</option> 
 
</select> 
 

 
<input id="inputID" type="text" name="sampleText" /> 
 

 
</body> 
 

 
</html>

但是,如果你真的想用您的下拉控件回發的方法試試這個。

<asp:DropDownList ID="DropListEmployeeName" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropListEmployeeName_SelectedIndexChanged"> 
</asp:DropDownList> 
+0

問題已解決!謝謝! – wolfQueen

+0

感謝您將它標記爲答案。 – jmaghuyop

1

檢查您的下拉AutoPostBack =「True」屬性。

string empSelected = Convert.Tostring(DropListEmployeeName.SelectedItem.Value); 

您沒有工作意味着什麼別的辦法

var empSelected = ((DropDownList)sender).SelectedValue; 
     string semSelected = selectedValue; 
相關問題