dongpu9481 2017-04-25 11:15
浏览 80
已采纳

在jquery中包含php文件

Use jquery to add the drop down. The option value is from mysql database. It is included as getItems.php. Then, submit the selected value to mysql. It occurs the SyntaxError. It seems the php syntax is invalid in jquery. The included part cannot be shown on one row.

jquery:

<script>
 $(function() {
  $('#add').click(function(){
    var item = '<div class="form-group"><label class="col-sm-2 control-label">Item</label><div class="col-sm-10"><select class="form-control" name="item"><?php include 'getItems.php'; ?></select></div></div>';
    // error

    $('#addItem').append(item);
  });
});
</script>

php:

$query = "SELECT itemName FROM Item";
$results = mysql_query($query);
if (!$results) {
  die('Invalid query: ' . mysql_error());
}

while ($row = mysql_fetch_array($results)) {
  echo '<option>'.$row["itemName"].'</option>';
}

error:

Uncaught SyntaxError: Invalid or unexpected token

console:

  var item = '<div class="form-group"><label class="col-sm-2 control-label">Item</label><div class="col-sm-10"><select class="form-control" name="item"> <option>Item1</option><option>Item2</option><option>Item3</option>
 </select></div></div>';

Last edit: change the var item = $('') to var item = ''. But it still has the same error.

  • 写回答

3条回答 默认 最新

  • duan1930 2017-04-25 11:42
    关注

    PHP: getresult.php

    $query = "SELECT itemName FROM Item"; $results = mysql_query($query);
             if (!$results) 
            { 
    die('Invalid query: ' . mysql_error());
             } 
            $options=""; 
            while ($row = mysql_fetch_array($results)) { 
            $options .= '<option>'.$row["itemName"].'</option>';
             }
        echo  $options;
    

    JQuery:

    `<?php include('getresult.php'); ?>
    <script>
     $(function() {
      $('#add').click(function(){
        var item = '<div class="form-group"><label class="col-sm-2 control-label">Item</label><div class="col-sm-10"><select class="form-control" name="item"><?php echo $options; ?></select></div></div>';
        // error
    
        $('#addItem').html(item);
      });
    });
    </script>`
    

    OR you can use ajax like this

    <script>
    $.ajax({
    url:"getresult.php",
    data:{},
    type:"POST",
    success:function(res){
    $('#addItem').html(res);
    }
    });
    </script>
    

    Or you can simply use

    <script>
     $('#addItem').load("getresult.php");
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?