jquery下拉选择器AutoPostback
在jQuery中,有什么方法可以区分postbacking下拉菜单和非postbacking下拉菜单(ASP.NET 3.5):
$('select').change(function(e)
{
//something like this
if ($(this).attr('AutoPostback') == true)
{
//do something here
}
else
{
//do something else
}
认为必须从脚本调用服务器端函数来确定AutoPostback。
通常,要回发的下拉列表中会包含一个onchange属性,其中包含类似“__doPostBack(”,但也会有其他一些内容。
所以你可以做下面的事情,我没有测试,所以希望没有错别字
$('select[onchange*="__doPostBack("]').change(...your handler for postbacking control...);
$('select:not([onchange*="__doPostBack("])').change(...your handler for non-postbacking control...);
AutoPostBack属性IIRC是服务器端的。 换句话说,它是由服务器解析的,并且实际上并没有将它传递给浏览器。
这将有点冗余代码明智,但你可以给它一个cssClass =“AutoPostback”,然后通过jQuery检查
我迟到了一点,但也许其他人会觉得这很有用。
我也有问题让jquery ui selectmenu做回发。 之前的评论让我非常接近,但是当我运行它时出现了错误。 这可能是由于我使用的版本不同,但我的最终解决方法是将回发附加到更改事件中,方法稍有不同。 我不得不将字符串传递给回发调用,而不是实际的元素。 第一个参数是select元素的ID,第二个参数是应该调用的服务器端函数的名称。
$("#cboStateFilter").selectmenu({
change: function (event, ui) { __doPostBack("cboStateFilter", 'cboStateFilter_SelectedIndexChanged'); }
});
链接地址: http://www.djcxy.com/p/44567.html