PDA

View Full Version : bind کردن textbox به dropdown



anahita6
جمعه 05 اسفند 1390, 12:13 عصر
چطوری میتونم یک dropdown رو به textbox وصل کنم طوری که وقتی یک dropdown ایتم عوض میشه متن اش تو تکست باکس بیاد
این کد جواب نداد
<asp:TextBox ID="TextBox1" runat="server" Text=<%#DropDownList1.DataTextField%> ></asp:TextBox>

A.S.Roma
جمعه 05 اسفند 1390, 12:52 عصر
هر موردی رو که سمت Server هندل نمی کنن !
2 خط کد سمت کلاینت :
<asp:DropDownList ID="drp" runat="server" onchange="moveText()">
<asp:ListItem Text="" />
<asp:ListItem Text="text1" Value="1" />
<asp:ListItem Text="text2" Value="2"/>
</asp:DropDownList>
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<script type="text/javascript">
function moveText() {
var drpSelectedText = $("#<%=drp.ClientID %>" + " option:selected").text();
var txt = $("#<%=txt.ClientID %>")[0];

txt.value = drpSelectedText;
}
</script>

anahita6
شنبه 06 اسفند 1390, 13:16 عصر
var drpSelectedText = $("#<%=drp.ClientID %>" + " option:selected").text();
var txt = $("#<%=txt.ClientID %>")[0];


میشه در مورد این دو خط بیشتر توضیحبدی که هر قسمت چی کار میکنه؟ مخصوصا قسمت # و $
مرسی

hjran abdpor
شنبه 06 اسفند 1390, 13:26 عصر
سلام.
این راه حل هم هست که خیلی ساده است :

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">



protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedItem != null)
TextBox1.Text = DropDownList1.SelectedItem.Text;
}
موفق باشید.

A.S.Roma
شنبه 06 اسفند 1390, 19:44 عصر
فرض کنید دارید با element های HTMLی کار می کنید.

توسط دستور زیر تو Jquery‌ می تونید مقدار Text یک المان Select رو بدست بیارید (همون DropDownList)
$("#elementID option:selected").text();

چون ما از کنترل های سمت سرور استفاده می کنیم و کنترل های سمت سرور پس از رندر شدن IDشون عوض میشه باید در دستورات سمت کلاینت از ClientID اونها استفاده کنیم.

anahita6
یک شنبه 07 اسفند 1390, 10:53 صبح
راه جاوا اسکریپتی نداره . اگه نخوام از jquery استفاده کنم

behrad110
یک شنبه 07 اسفند 1390, 12:25 عصر
چرا نداره؟ اینهم راه حلش

function prepresent() {
var lisitem = document.getElementById("DropDownList1").childNodes;
var select;
for (var i = 0; i < lisitem.length; i++)
{ select=lisitem[i];
if (select.selected)
{alert(select.value) ; }
}

}

anahita6
یک شنبه 07 اسفند 1390, 12:35 عصر
آره این راه خوبیه محتویاتش رو در میاره اما من میخوام bind کنم به textbox این که فقطalert میده

behrad110
یک شنبه 07 اسفند 1390, 12:39 عصر
ای بابا همه چی که نمیشه حاضر آماده باشه خوب من تو alert نمایش دادم شما بریز تو textbox.کاری نداره که

function present() {
var text = document.getElementById("Text1")
var lisitem = document.getElementById("DropDownList1").childNodes;
var select;
for (var i = 0; i < lisitem.length; i++)
{ select=lisitem[i];
if (select.selected)
{ text.value=select.value}
}

}

anahita6
یک شنبه 07 اسفند 1390, 12:43 عصر
ok مرسی کار کرد اگه به جای dropdown بخوام از input select استفاده کنم هم راهش همینه؟