jQuery-在下拉列表中选择“更改我的确认框”不起作用 $(文档).ready(函数(){ $(“.test123”).live(“更改”,函数(){ var-brand=“”; ddlBrand=$('#').val(); 如果(品牌>0){ return confirm('为此品牌输入的值将重置。是否确实要更改品牌'); }); } }); 返回false; });

jQuery-在下拉列表中选择“更改我的确认框”不起作用 $(文档).ready(函数(){ $(“.test123”).live(“更改”,函数(){ var-brand=“”; ddlBrand=$('#').val(); 如果(品牌>0){ return confirm('为此品牌输入的值将重置。是否确实要更改品牌'); }); } }); 返回false; });,jquery,Jquery,以上代码的问题是,取消确认框后,我无法保留页面状态。 同样对于第一个下拉选择,我不想要确认框。 请提供帮助。如果我正确理解了您的问题,您不希望第一次确认是否更改了ddlBrand,如果是确认呼叫,请取消确认将您的ddlBrand值还原为以前选择的值。你可以试试这个 $(document).ready(function () { $(".test123").live("change", function () { var ddlBrand = ""; dd

以上代码的问题是,取消确认框后,我无法保留页面状态。 同样对于第一个下拉选择,我不想要确认框。
请提供帮助。

如果我正确理解了您的问题,您不希望第一次确认是否更改了ddlBrand,如果是确认呼叫,请取消确认将您的ddlBrand值还原为以前选择的值。你可以试试这个

$(document).ready(function () {

    $(".test123").live("change", function () {
        var ddlBrand = "";
        ddlBrand = $('#<%= ddlBrand.ClientID %>').val();

        if (ddlBrand > 0) {
            return confirm('The values entered for this brand will reset. Are you sure you want to change the Brand.');
        });
    }
});
return false;
});
$(文档).ready(函数(){
$(“.test123”)。关于(“更改”,函数(e){
e、 预防默认值();
var ddlBrand=$(“#”);
var值=ddlBrand.val();
var prevValue=ddlBrand.data(“prev”);
如果(值>0&&prevValue&&prevValue!=0){
如果(确认('为此品牌输入的值将重置。是否确实要更改品牌')){
数据('prev',值)
}否则{
ddlBrand.val(prevValue)
}
}否则{
数据('prev',值)
}
});
});

然后检查这个

你说的“保留页面状态”是什么意思?另外,在格式化代码片段之后,很明显代码是乱七八糟的。如果这仅仅是一个错误,当发布这个问题,请更正。删除返回错误。没有必要。请在
ddlBrand=$('#').val()之后放置一个警告框
并检查ddlBrand的值,如
警报(ddlBrand)是文本还是整数??让我们知道…嗨,约格拉,这正是我需要的。但它在我的页面上不起作用。也没有收到任何错误。如果Autopostback设置为true,则DropDownList似乎不起作用。@PraveenNambiar如果起作用,只需添加
e.preventDefault()
e
作为函数(e)中的参数,如检查更新的答案。
$(document).ready(function () {

    $(".test123").on("change", function (e) {
        e.preventDefault();
        var ddlBrand = $('#<%= ddlBrand.ClientID %>');
        var value = ddlBrand.val();
        var prevValue = ddlBrand.data('prev');

        if ( value > 0 && prevValue && prevValue  != 0) {
            if(confirm('The values entered for this brand will reset. Are you sure you want to change the Brand.')){
                ddlBrand.data('prev', value)
            }else{
                ddlBrand.val(prevValue )
            }
        }else{
            ddlBrand.data('prev', value)
        }
    });
});