Ajax没有被select调用

时间:2015-09-03 20:53:24

标签: php jquery ajax

您好我有一个选择框,当它被更改时,我希望通过Ajax更新数据库中的值。使用控制台我可以看到我的saveedit2.php文件没有被调用。

选择框

postfile

的Ajax:

    <form><select id="workingpattern">
    <?php
              if(isset($workingpatterns) && !empty($workingpatterns)){
              foreach($workingpatterns as $k4=>$v4) {
              ?> 

    <option value="<?php echo $workingpatterns[$k4]["workingpatternid"]; ?>"> 
<?php echo $workingpatterns[$k4]["text"]; ?></option>
    <?php }}?>
    </select></form>

SaveEdit2.php

 <script>

$(document).ready(function(){

 $('#workingpattern').change(function(){
    var e = document.getElementById("workingpattern");
    var value = e.options[e.selectedIndex].value;

    $.ajax({
        url: "saveedit2.php",
        type: "post",
        data: value,
        success: function(data) {

           console.log(data);
        }});

});

</script> 

2 个答案:

答案 0 :(得分:1)

我看到一些问题。首先,我会使用&#39;这个&#39;获取元素并使用jQuery获取值,因为您已经使用它。其次,您需要数据集中值的名称:

$('#workingpattern').change(function(){
    var value = $(this).val();
    $.ajax({
        url: "saveedit2.php",
        type: "post",
        data: 'value='+value,
        success: function(data) {
           console.log(data);
        }
    });
});

答案 1 :(得分:0)

尝试

的Ajax

$('#workingpattern').change(function(){
    var value = $("#workingpattern").val();

            $.ajax({
              dataType: "json",
              url: "./saveedit2.php",
              data: {'value':value},
              success: function(data){
                  if(data['result']=="ok")       
                       alert("Done");
                  else
                      alert("Error");
              }
            });

SaveEdit2.php

<?php
require_once("connect_db.php");
$ajax_result = "error";
$value=$_POST['value'];

$sql = "UPDATE employmenthistory SET workingpatternid = '$value' WHERE employmenthistoryid=1";
$result = mysqli_query ($dbc, $sql) or die(mysqli_error ($dbc));
if($result)
$ajax_result = "ok";

echo json_encode(array('result'=>$ajax_result));

?>