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.

图片转代码服务由CSDN问答提供 功能建议

使用jquery添加下拉列表。 选项值来自mysql数据库。 它包含在 getItems.php 中。 然后,将选定的值提交给mysql。 它发生在SyntaxError中。 似乎php语法在jquery中无效。 包含的部分不能显示在一行上。

jquery:

 &lt; script&gt; 
 $(function(){\  n $('#add')。click(function(){
 var item ='&lt; div class =“form-group”&gt;&lt; label class =“col-sm-2 control-label”&gt; 商品&lt; / label&gt;&lt; div class =“col-sm-10”&gt;&lt; select class =“form-control”name =“item”&gt;&lt;?php include'getItems.php';?&gt;  &lt; / select&gt;&lt; / div&gt;&lt; / div&gt;'; 
 //错误
 
 $('#addItem')。append(item); 
}); 
}); \  n&lt; / script&gt; 
   
 
 

php:

  $ query =“SELECT itemName FROM Item”; 
  $ results = mysql_query($ query); 
if(!$ results){
 die('无效查询:'。mysql_error()); 
} 
 
而($ row = mysql_fetch_array($ results)){  
 echo'&lt; option&gt;'。$ row [“itemName”]。'&lt; / option&gt;'; 
} 
   
 
 

错误:

 未捕获的SyntaxError:无效或意外的令牌
   
 
 

控制台:

 <  code> var item ='&lt; div class =“form-group”&gt;&lt; label class =“col-sm-2 control  -label“&gt; Item&lt; / label&gt;&lt; div class =”col-sm-10“&gt;&lt; select class =”form-control“name =”item“&gt;  &lt; option&gt; Item1&lt; / option&gt;&lt; option&gt; Item2&lt; / option&gt;&lt; option&gt; Item3&lt; / option&gt; 
&lt; / select&gt;&lt; / div&gt;&lt; / div&gt;'; 
   
 
 

上次编辑:将 var item = $('')更改为 var item =''。 但它仍然有同样的错误。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

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>
    
    点赞 打赏 评论
  • duanhanglekr37902 2017-04-25 11:42

    There is alternative to do your requirement,

     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"></select></div></div>';
     // first append all html to addItem, so content will be added to DOM.
     $('#addItem').append(item);
     // once html is loaded inside DOM, then load contents of getItems.php inside select as inner html. 
     setTimeout(function() {
       $("select[name='item']").load('getItems.php');
     }, 1000);
    

    Please check load everything over here.

    点赞 打赏 评论
  • dongren2128 2017-04-25 11:42

    Could you try.

    <script>
         $(function() {
          $('#add').click(function(){
    
            var items = <?php include 'getItems.php'; ?>;
            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">'+items+'</select></div></div>';
            // error
    
            $('#addItem').append(item);
          });
        });
        </script>
    
    点赞 打赏 评论

相关推荐 更多相似问题