首次单击单选按钮后无法触发更改事件

时间:2016-11-22 07:17:26

标签: javascript php jquery

我的jquery更改事件的单选按钮在第一次点击后无法正常工作并且没有给出任何错误请帮助我。我从上周开始陷入困境。由于这个问题,我也无法计算适当的价值。

$('input[name="emailing"]').change(function() 
{ 
    checkValue();

});
function checkValue(evt) {

    alert('hi');
    var package = $("#package_value").val();
    var emailing = $('input[name="emailing"]:checked').val();
    $('input[name="emailing"]').on("mousedown", function() {
           var select = $('input[name="emailing"]:checked').val();
           $("#selected").val(select);
        }).on("mouseup", function() {
            $('input[name="emailing"]').prop('checked', false);
            $(this).prop('checked', true).checkboxradio("refresh");
        });
    var selected = $("#selected").val();
    alert(selected);    
    var update = $("#update").val();
    if(update != '')
    {
        var hiddenPackage = $("#hidden_pricing").val();
        var hiddenRadion = $("#hidden_radio").val();
        var totalValue = package - hiddenRadion;
        if(emailing == 1)
        {
            $("#package_value").val('');
            var value = Number(totalValue) + 38; 
            $("#package_value").val(value);
            $("#hidden_package").val(value);      
        }
        if(emailing == 2) 
        {
            $("#package_value").val('');

            var value = Number(totalValue) + 55; 
            $("#package_value").val(value);
            $("#hidden_package").val(value);      
        }   
        if(emailing == 0) 
        {
            $("#package_value").val('');
            var value =  Number(totalValue) + 0; 
            $("#package_value").val(value);
            $("#hidden_package").val(value);      
        }        
    }   
}

2 个答案:

答案 0 :(得分:1)

您应该使用委托

$(document).delegate( "input[name='emailing']", "change", function() {
  checkValue();
});

答案 1 :(得分:0)

对任何元素id使用on()函数而不是(document)

$(document).on('change', 'input[name="emailing"]', function() {
   checkValue();
});