在该项目中,我想创建两个下拉列表(类别,项目)。如果我选择一个名为car的类别,那么项目下拉列表应该包含:Honda,Volvo,Nissan。
如果我选择一个名为phone的类别,则项目下拉列表应包含:iPhone,Samsung,Nokia。
HTML:
<select id="cat">
<option val="car">car</option>
<option val="phone">phone</option>
</select>
<select id="item">
</select>
JavaScript的:
cars=new Array("Mercedes","Volvo","BMW","porche");
phones=new Array('Samsung','Nokia','Iphone');
populateSelect();
$(function() {
$('#cat').change(function(){
populateSelect();
});
});
function populateSelect(){
cat=$('#cat').val();
$('#item').html('');
if(cat=='car'){
cars.forEach(function(t) {
$('#item').append('<option value="cars[]">'+t+'</option>');
});
}
if(cat=='phone'){
phones.forEach(function(t) {
$('#item').append('<option value="phones[]">'+t+'</option>');
});
}
}
然后在PHP中:
$cat=$_request['cat'];
$phones=$_request['phones'];
我想用PHP保存数据库中的第一个下拉列表(cat)和第二个下拉列表(项目),但是错误。 帮我把这两个下拉列表保存在数据库中。
答案 0 :(得分:0)
尝试定义变量并尝试
var cars=new Array("Mercedes","Volvo","BMW","porche");
var phones=new Array('Samsung','Nokia','Iphone');
答案 1 :(得分:0)
试试这个 - 你的选择没有任何名字=你的价值完全错误
<select name="cat[]" id="cat">
<option val="car">car</option>
<option val="phone">phone</option>
</select>
<select name="item[]" id="item">
</select>
cars=new Array("Mercedes","Volvo","BMW","porche");
phones=new Array('Samsung','Nokia','Iphone');
populateSelect();
$(function() {
$('#cat').change(function(){
populateSelect();
});
});
function populateSelect(){
cat=$('#cat').val();
$('#item').html('');
if(cat=='car'){
cars.forEach(function(t) {
$('#item').append('<option value="cars'+t+'">'+t+'</option>');
});
}
if(cat=='phone'){
phones.forEach(function(t) {
$('#item').append('<option value="'+t+'">'+t+'</option>');
});
}
}
答案 2 :(得分:0)
1。)要使用PHP从selects
检索值,他们需要在form
内,用户将提交到将处理数据的页面。 selects
也需要name
属性。
2。)<option val=
不正确。它应该是<option value=
。请注意,如果省略value属性,则选项本身将是值。
3。)$_request
区分大小写,需要大写:$_REQUEST
假设您将在名为processor.php
的页面上处理数据,您可以尝试这样的事情:
HTML:
<form action="processor.php" method="POST">
<select id="cat" name="cat">
<option value="car">car</option>
<option value="phone">phone</option>
</select>
<select id="item" name="item">
</select>
<input type="submit" name="submit" />
</form>
JAVASCRIPT:
cars=new Array("Mercedes","Volvo","BMW","porche");
phones=new Array('Samsung','Nokia','Iphone');
populateSelect();
$(function() {
$('#cat').change(function(){
populateSelect();
});
});
function populateSelect(){
cat=$('#cat').val();
$('#item').html('');
if(cat=='car'){
cars.forEach(function(t) {
$('#item').append("<option value='"+t+"'>"+t+"</option>");
});
}
if(cat=='phone'){
phones.forEach(function(t) {
$('#item').append("<option value='"+t+"'>"+t+"</option>");
});
}
}
PHP :(在此示例中,表单将提交到示例页面processor.php
)
if (isset($_POST['submit'])) {
$cat = $_POST['cat'];
$item = $_POST['item'];
// You now have the user selections saved in the above variables and
// can proceed with inserting them into the database...
// ... use mysqli or pdo to connect to and query the db
}
答案 3 :(得分:0)
<form action="http://localhost/rat.html.php" method="POST">
<select name="car" id="car">
<option value="car">Car</option>
<option value="phone">Phone</option>
</select>
<select name="items" id="items">
</select>
<input type="submit" value="submit" name="submit"/>
</form>
<script type="text/javascript" >
var cars=["Mercedes","Volvo","BMW","porche"]
var phones=['Samsung','Nokia','Iphone']
var ele = document.getElementById('car');
ele.onchange = function(){addItem(this.value,"items")}
function addItem(item,id){
var ele = document.getElementById(id);
ele.innerHTML = "";
var elements = (item=="car")?cars : phones;
for(var i=0;i<elements.length;i++){
ele.innerHTML += "<option value="+elements[i]+">"+elements[i]+" </option>"
}
}
</script>
//rat.html.php
<?php
$name = $_POST['car'];
$it = $_POST['items'];
echo($name);
echo($it);
?>