Ajax-下拉选择仅在第一次时效果很好

问题描述 投票:0回答:1

好吧,我坚持将这段代码发送json数据到一个php文件,第一次工作很好(将信息发布到数据库上,一切都很好),但是在第一次提交后,确实采用了选定的下拉值并更新了var = name中带有旧值的数据库。

这里是代码:

<script>
$("#rechazar").click(function(){    
        // Here I create a form called "rechazo" (reject in English) with just two buttons and a dropdown
        var rejectForms= $('<form id="formrechazo" name="formrechazo"><select id="dropdown_rechazo" name="dropdown_rechazo"  style="z-index:10000; width: 250px;" ><option value="" selected="selected">Seleccione un motivo de rechazo</option><option value="Vehicle Year">Año del vehículo</option><option value="Vehicle Model">Tipo de vehículo</option><option value="Vehicle Model">Taxi</option><option value="Age">La edad del Driver es menor a los 21 años</option><option value="Unsuitable Documents">Licencia no admitida</option><option value="Unsuitable Documents">Cedula no admitida</option><option value="Duplicate Record">Registro Duplicado</option></form>');
            rejectForms.dialog({    
            modal: true,   

//在这里创建完上面的表格后,我说每当单击ok按钮时,它都应采用所选的选项(这在第一次使用时效果很好),但是如果我单击cancel或第二次更新信息,则不会使用新选择的值只是前一个值,而末尾的.change事件不再显示警报。我在做什么错?

            buttons: { 
                'OK': function () {     
                 var name =  $( "#dropdown_rechazo" ).find( "option:selected" ).prop("value");   
                 //this ID take it from a form on html with id= #myform var rejectID =  $('#ID').val();
                    debugger; var rejectdata = JSON.parse(JSON.stringify({value: rejectID, value2:name})); //The ajax call - works like a charm- 
                var ajax = $.ajax({
                type: "post",
                dataType: 'json',   
                 url: "http://localhost/reject.php",
                 //context: this,
                 data : ({jsonObj:rejectdata}),
                //contentType: 'application/json;charset=UTF-8',
                 success: function (result) {
//This is a function after I update the php to load info to some divs 
                siguientes();
                                            },
     error: function(result){
                            var json = (result);
                            alert(json.error);
                            }            
     })  
                    $(this).dialog('close');
                    rejectForms.reset;
                },
                    'Cancel': function () {
                    $(this).dialog('close');
                    rejectForms.reset;
                }
              }
            } 
        )           
        $("#dropdown_rechazo").change(function(){
    var name =  $( "#dropdown_rechazo" ).find( "option:selected" ).prop("value");   //$('#dropdown_rechazo').val();
    alert(name)                             
    })  })
</script>   
ajax dropdown
1个回答
0
投票

解决方案是从ajax调用中移出一个'div',像这样:

© www.soinside.com 2019 - 2024. All rights reserved.