好吧,我坚持将这段代码发送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调用中移出一个'div',像这样: