我正在使用laravel,我需要根据用户从数据库中选择填充多个select。 我有2个选择框,一个选择类别,然后一旦我选择类别,第二个选择框将填充产品。 一旦第二个选择填充了产品,我需要从数据库中获取该产品的所有描述并以表格形式显示,以便进行修改。
我做了一条路线:
Route::get('api/dropdown', function(){
$input =Input::get('option');
$prodotti= DB::table('prod')
->join('cat','cat.id_prod','=','prod.id')
->where('cat.id','=',$input)
->select('prod.id as idprod','prod.nome as nomeprod')
->lists('nomeprod','idprod');
return Response::json($prodotti);
});
这应该发送回复
{{ Form::open(array('url' => 'admin/create/mod', 'files'=> true)) }}
<span>
{{ Form::select('categorie', $categorie,'default', array('id'=> 'a')) }}
<br/>
{{ Form::select('a',array('a'=> 'scegli'),'default', array('id'=> 'b')) }}
Scegli il nome del prodotto
{{Form::text('nome')}}
<br/>
{{Form::label('*Descrizione in Italiano')}}
<br/>
{{Form::textarea('descrizioneit','',array('id'=>'descrizioneit'))}}
{{Form::textarea('descrizioneit','',array('id'=>'previewit', 'readonly'=>'readonly', 'onfocus'=>'this.blur();'))}}
<br/>
{{Form::label('*Descrizione in Inglese')}}
<br/>
{{Form::textarea('descrizioneen','',array('id'=>'descrizioneen'))}}
{{Form::textarea('descrizioneen','',array('id'=>'previewen', 'readonly'=>'readonly', 'onfocus'=>'this.blur();'))}}
<br/>
{{Form::close()}}
这是我的javascript
jQuery(document).ready(function($){
$('#a').change(function(){
$.get("{{ URL::to('api/dropdown')}}",
{ option: $(this).val() },
function(data) {
var model = $('#b');
model.empty();
$.each(data, function(element) {
model.html(element);
});
});
});
});
然后我应该用另一个api来填充文本框和我选择的产品说明吗?
我会遵循这个想法,但即使是其中的第一部分也不起作用。 似乎我的javascript代码被忽略了。
答案 0 :(得分:0)
好的,尝试阅读和分析这个更像你想要的
<?php
require_once('func.inc.php'); //Connection script remember
connect();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>testDroplistdown</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p align="center">
<div id="dropdown1div"><select id="dropdown1" name="dropdown">
<?php countryQuery(); ?>
</select></div>
</p>
<br />
<br />
<p align="center">
<div id="dropdown2div"></div>
</p>
<p align="left">
<div id="dropdown3div"></div>
<script type="text/javascript">
$("#dropdown").change(function() {
val = $(this).val();
var html = $.ajax({
url: "dropdown_select.php?dropdown=2&val="+val+"",
async: true,
success: function(data) {
$('#dropdown2div').html(data);
}////////////function html////////
})/////////function ajax//////////
});
</script>
<?php close(); ?>
</p>
</body>
</html>
dropdown_select.php
<?php
require_once('func.inc.php');
connect();
if(isset($_GET['val'])){
$val = $_GET['val'];
$dropdown = $_GET['dropdown'];
}
if($dropdown == '2'){
echo '<select id="dropdown2" name="dropdown2">';
governorateQuery();
echo '</select>';
?>
<script type="text/javascript">
$("#dropdown2").change(function() {
val = $(this).val();
var html = $.ajax({
url: "dropdown_select.php?dropdown=3&val="+val+"",
async: true,
success: function(data) {
$('#dropdown3div').html(data);
}////////////function html////////
})/////////function ajax//////////
});
</script>
} // end if statement
if($dropdown == '3'){
echo '<select id="dropdown3" name="dropdown3">';
specializationQuery();
echo '</select>';
} // end if statement
close();
?>
答案 1 :(得分:0)
问题在于如何填写您的选择。
jQuery(document).ready(function($){
$('#a').change(function(){
$.get("{{ URL::to('api/dropdown')}}",
{ option: $(this).val() },
function(data) {
var model = $('#b');
model.empty();
$.each(data, function(index, value) {
model.append($("<option />").val(index).text(value)); });
});
});
});
});
答案 2 :(得分:-1)
这是用于将值填充到db
的下拉菜单中的PHP代码<?php
$link = mysqli_connect("instructdb3.ait.psu.edu","inst_4","password","jed124");
$sql = "SELECT name FROM candidate_cities GROUP BY name;";
$result = mysqli_query($link,$sql);
if ($result != 0) {
echo '<label>City:';
echo '<select name="city">';
echo '<option value="">all</option>';
$num_results = mysqli_num_rows($result);
for ($i=0;$i<$num_results;$i++) {
$row = mysqli_fetch_array($result);
$name = $row['name'];
echo '<option value="' .$name. '">' .$name. '</option>';
}
echo '</select>';
echo '</label>';
}
mysqli_close($link);
?>