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

上一篇: jquery dropdown selector AutoPostback

下一篇: (401) Unauthorized error : WCF security/binding