本鶸准备用easyUI的多选下拉框选择多个地区,然后把这些地区的value值传到后台
我这里是用一个比较偷鸡的办法,点击按钮的时候,先在前台把这几个value值写在asp:TextBox文本框里面,然后后台Button的点击事件就能轻易取得这几个value值
前台代码
//jquery代码
function setvalue() {
var siteCode = $('#siteCode').combobox('getValues');
$('#tbox1').val(siteCode);
}
//html代码
<input class="easyui-combobox" name="Site" style="width:10%;height:24px" id="siteCode" runat="server" data-options="
url:'datDemiSynthesisSearch.ashx?Type=GetTopSites',
method:'get',
valueField:'id',
textField:'text',
multiple:true
">
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return setvalue()" OnClick="Button1_Click"/>
<asp:TextBox runat="server" ID="tbox1"></asp:TextBox>
后台代码
protected void Button1_Click(object sender, EventArgs e)
{
string siteCode = tbox1.Text.ToString();
}
OnClientClick是要先于OnClick执行的,所以我点击按钮的时候,前台会先执行setvalue()方法,把下拉框的value值赋值给文本框,接着后台执行Button1_Click方法获取文本框的值
果然,后台获取到了文本框里的值
接着正题来了,为了美观,我想将文本框隐藏,反正隐藏并不影响我后台的取值
将文本框的代码更改一下,加上Visible=“false”
<asp:TextBox runat="server" ID="tbox1" Visible="false"></asp:TextBox>
可以看到,文本框已经隐藏了
然後,值呢?
隐藏控件不并不影响后台取值的啊,难道通过jQuery给文本框赋值,然后隐藏文本框后台就获取不到值?
接着我把Visible="false"删除掉,改用hide隐藏,jQuery代码如下
$(function () {
$('#tbox1').hide();
});
一样能把文本框隐藏,并且后台能获取到文本框的值