有没有办法获取服务器在客户端中填充(使用ASP.NET)的选择框的选定值(或文本或索引)?我已经尝试了$(“#ID”)。val() - 但唯一有效的时间是我继续浏览另一个页面然后返回。即使这样,返回的值也是先前选择的值 - 如果用户更改了选择,则除非他们离开页面并返回,否则它不会被注册。对我很轻松,我是新来的......
更新:尝试使用常规html选择,同样的问题(仅使用填充的条目)。让我详细说明我正在尝试做的事情:在一个单独的页面中,我正在获得自动填充搜索框的结果。选择框用于过滤器。当然,如果用户选择过滤器,我不想建议不再有效的项目。我正在寻找包含自动完成信息的页面的ProcessRequest方法中的键。
public override void ProcessRequest(HttpContext context)
{
string respString;
string qsKey = "q";
Customer searchCust = Session[Data.Selected_Customer] as Customer;
Dictionary<string, string> qsDict = context.Request.QueryString.ToDictionary(qsKey);
我不应该得到结果(例如'&amp; ID = foo'在最后一行@ context.Request.QueryString?
答案 0 :(得分:1)
如果您想要实际选择的项目本身:
$("#ID option:selected");
答案 1 :(得分:0)
你确定'ID'真的是选择框的id吗?已经有一段时间了,因为我使用的是asp.net,但我记得很多用标识符搞定了
答案 2 :(得分:0)
我使用代码(下面)来操作ASP.NET生成的选择框。在代码中我获取原始选择框(项目)的值。还要考虑使用.text()函数。
var setValue = function(item){
//if value isn't already selected, postback
if(input.value != item.text())
if(select.attr('onchange'))
eval(select[0].attributes['onchange'].nodeValue);
//set input box value
$(input).val(item.text());
$(input).removeClass('empty');
//select original ASP.NET select value (hidden)
select.val(item.text());
$(lookup).hide();
//show type if present
$('.selectType').show();
};
希望这有帮助。