将jQuery更改事件添加到<;选择>;对象,该对象在ajax更新中幸存(并且不会触发)

将jQuery更改事件添加到<;选择>;对象,该对象在ajax更新中幸存(并且不会触发),jquery,Jquery,我正在制作一个发货估价箱,作为结账页面的一部分。我想将一个.change()jQuery事件绑定到我的选择框,然后选择框用ajax请求重新加载表单 最初我尝试: $('select.shipping-updater').live("change", function() { $('#shipping_estimation_button').click(); }); 但是,一旦选择框被ajax调用重新加载,就会触发此操作,从而导致页面重新加载 当用户单击选择器时,是否有方法绑定更

我正在制作一个发货估价箱,作为结账页面的一部分。我想将一个.change()jQuery事件绑定到我的选择框,然后选择框用ajax请求重新加载表单

最初我尝试:

$('select.shipping-updater').live("change", function() {
        $('#shipping_estimation_button').click();
});
但是,一旦选择框被ajax调用重新加载,就会触发此操作,从而导致页面重新加载

当用户单击选择器时,是否有方法绑定更改事件

编辑:这很有效,但可能不是很优雅

$('select.shipping-updater').live("click", function() {
        $('select.shipping-updater').change( function() {
                $('#shipping_estimation_button').click();
        });
});

标记选择器怎么样

阿卡


您使用什么版本的jquery?我不会说这种方法更干净/更好。只是另一种选择。谢谢!单击绑定到由ajax创建的新对象?否则,这看起来是一个好方法!您必须重新运行.click函数来绑定新添加的元素。
$('select.shipping-updater').click(function(){
    $(this).addClass("clicked");
}).blur(function(){
    $(this).removeClass("clicked");
});

$('select.shipping-updater.clicked').change(function(){
    $('#shipping_estimation_button').click();
});