页面中添加的新输入未运行脚本

时间:2016-03-13 12:24:17

标签: javascript jquery html

当我使用(.load())在DIV中重新加载内容时,我的网站出现问题 单选按钮不会运行onchange事件我怎么解决它?

$(window).ready(function(){
                $('input[name="optionsRadios"]').on('change', function(){
                if ($(this).val()=='veloce') {                  
                    //change to "show update"   
                    var senzasped = <?php echo $tot; ?>;                        
                    senzasped += 5;                     
                    $("#prezzotot").text(senzasped);
                    $("#spedizionese").text("Spedizione Veloce");
                    $("#spedizionese2").text("5,00€");                  
                } else  {
                    var senzasped = <?php echo $tot; ?>;
                    senzasped += 3.5;                           
                    $("#prezzotot").text(senzasped);
                    $("#spedizionese").text("Spedizione Normale");
                    $("#spedizionese2").text("3,50€");
                }
            });
            });

HTML:

<div class="modal-sped" style="width:100%; height:100px">
                <div class="row">
                    <div class="col-md-12" style="margin-left:20px">
                        <label>Selezione la spedizione: </label>
                        <div class="radio">
                            <label>
                                <input type="radio" name="optionsRadios" id="optionsRadios1"value="normale" checked>
                                    Spedizione Normale 3,50€
                            </label>
                        </div>
                        <div class="radio">
                            <label>
                                <input type="radio" name="optionsRadios" id="optionsRadios2" value="veloce">
                                    Spedizione <strong>Veloce</strong> 5,00€
                            </label>
                        </div>
                    </div>
                </div>
            </div>

1 个答案:

答案 0 :(得分:0)

您需要将事件绑定到未更改的元素或document

$(document).on('change', 'input[name="optionsRadios"]', function() {

这是因为您附加更改侦听器的元素被load替换,并且新输入没有附加任何侦听器。如果您将侦听器附加到document或其他未被删除的父元素,则它将适用于存在或将要插入的所有匹配输入。