不止一次下拉搞乱了jQuery / Bootstrap功能

时间:2014-10-22 20:40:21

标签: javascript jquery

有人可以告诉我哪里出错了吗?

基本上发生的事情是我有一个收费计算器,当用户通过表格处理时计算费用。在示例中有一个复选框,当点击它应该弹出一个div并显示费用225美元我想要做的是从我的下拉菜单中添加费用,弹出一个新窗口,询问他们是否想要添加该价格..

我希望它在接受表单上的运行总计时添加价格。

更正示例http://jsfiddle.net/hwcu7e05/5/

这个例子是不正确的,因为有多个下拉列表如何修复此错误..此页面上有很多下拉列表...很明显我的jQuery函数有问题。 如果有多个下拉菜单,您从费用下拉菜单中选择添加价格就可以获得NaN

错误示例http://jsfiddle.net/sww393du/

有人请告诉我我跳过的地方或我出错的地方吗?我真的很感激任何建议或建议!!

$(function() {
        $('#SPECIAL').on('change', function() {
            if ($('option:selected', this).is('[data-img]')) {

                $('#modal_special').find('.modal-title').html($('option:selected', this).data('name'));
                $('#modal_special').find('.modal-body').html('')
                .append('<img alt="coming soon" src="' + $('option:selected', this).data('img') + '"/><br/><br/>                 Would you like to add this license plate for: $' + $('option:selected', this).data('price') + ' ?')
                .end().modal('show');
            }
        });

        $('.accept').on('click',function() {
            specialFee = $('option:selected').data('price');
            calculateTotal();
            $('#modal_special').modal('hide');
        });
    });

2 个答案:

答案 0 :(得分:2)

因为您的应用程序中有2个不同的下拉菜单,您需要告诉jQuery哪个下拉列表具有您想要的所选选项!

$('.accept').on('click',function() {
        specialFee = $('#SPECIAL option:selected').data('price');
        calculateTotal();
        $('#modal_special').modal('hide');
    });

我所做的就是将#SPECIAL添加到这部分代码中并且工作正常;否则有两个选项,月份下拉菜单和特殊下拉菜单。 JQuery选择它找到的第一个“选项:选中”,它是月选择器。

答案 1 :(得分:1)

当您指定从哪个下拉列表中获取价格时,您需要具体: http://jsfiddle.net/sww393du/2/

specialFee = $('#SPECIAL option:selected').data('price');