0

好吧,我坚持使用将 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,   

//在这里创建上面的表单后,我说每当单击确定按钮时,它都应该采用选定的选项,(这在第一次时效果很好)但是如果我第二次点击取消或更新信息,则不会采用新的选择的值只是前一个值,最后的 .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>   
4

1 回答 1

0

解决方案是从 ajax 调用中移出一个“div”,如下所示:

<div id="dialogoRechazo" title="Dialog Title"><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 Model1">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 Documents1">Cedula no admitida</option><option value="Duplicate Record">Registro Duplicado</option></div>

然后打开表单将使调用执行,我正在调查对话框文档,首先我需要实例化表单,这只是一个运行,因为该函数是第一次加载第一次加载的值

https://api.jqueryui.com/dialog/#option-appendTo

<script>
$("#rechazar").click(function(){    
$( "#dialogoRechazo" ).dialog({ autoOpen: false });
    // Dialog here
    $( "#dialogoRechazo" ).dialog( "open" );
    var rejectForms= $( "#dialogoRechazo" );
        rejectForms.dialog({    
        modal: true,

        buttons: {
            'OK': function () {     
                debugger;   let name =  $( "#dropdown_rechazo" ).find( "option:selected" ).prop("value");   //$('#dropdown_rechazo').val();
                    var rejectID =  $('#ID').val();
                debugger; var rejectdata = JSON.parse(JSON.stringify({value: rejectID, value2: name}));
            var ajax = $.ajax({
于 2020-05-27T19:06:30.017 回答