Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个下拉列表在HTML中不起作用_Javascript_Php_Html - Fatal编程技术网

Javascript 多个下拉列表在HTML中不起作用

Javascript 多个下拉列表在HTML中不起作用,javascript,php,html,Javascript,Php,Html,嗨,朋友们早上好 我创建了一个类似购物车的页面,因为我使用了多个下拉字段[示例8单个页面中的下拉列表]。使用下拉列表,我可以添加所需的数量,并且数量应该根据使用PHP的数量变化而增加我在运行它时遇到以下问题。 1.当我单击一个下拉列表时,该值将自动更改为0。 第二个问题已解决 2.已解决 2.单击第二个下拉框时,页面将刷新,第一个值已清除 这是代码 <form action="" method="get" name="months"> <select id="selectId"

嗨,朋友们早上好
我创建了一个类似购物车的页面,因为我使用了多个下拉字段[示例8单个页面中的下拉列表]。使用下拉列表,我可以添加所需的数量,并且数量应该根据使用PHP的数量变化而增加
我在运行它时遇到以下问题。

1.当我单击一个下拉列表时,该值将自动更改为0。

第二个问题已解决

2.已解决

2.单击第二个下拉框时,页面将刷新,第一个值已清除

这是代码

<form action="" method="get" name="months">
<select id="selectId" onchange="this.form.submit()" name="month" >
 <option   value="0">0</option>
 <option value="1">1</option>
 <option  value="2">2</option>
 <option  value="3">3</option>
 <option  value="4">4</option>
 <option  value="5">5</option>
 <option  value="6">6</option>
 <option  value="7">7</option>
 <option  value="8">8</option>
 <option  value="9">9</option>
 <option  value="10">10</option>
 <option  value="11">11</option>
 <option  value="12">12</option>
 </select><br><br></form>
 <?php
$rs='5000';
$mul=$_REQUEST['month'];
$multiply= $rs*$mul;
?></td><td><?php echo "Rs.$multiply"; ?></td></tr> 

<form action="" method="get" name="months">
<select id="selectId" onchange="this.form.submit()" name="month1" >
 <option   value="0">0</option>
 <option value="1">1</option>
 <option  value="2">2</option>
 <option  value="3">3</option>
 <option  value="4">4</option>
 <option  value="5">5</option>
 <option  value="6">6</option>
 <option  value="7">7</option>
 <option  value="8">8</option>
 <option  value="9">9</option>
 <option  value="10">10</option>
 <option  value="11">11</option>
 <option  value="12">12</option>
 </select><br><br></form>
 <?php
$rs='1000';
$mul=$_REQUEST['month1'];
$multiply= $rs*$mul;
?></td><td><?php echo "Rs.$multiply"; ?></td></tr>

0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12


0 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12

有关更多信息,请参见屏幕截图-->onchange=“this.form.submit()”每次更改所选项目时都会导致页面提交和刷新

这意味着您可以使用会话来记住这些值,也可以删除“onchange=”This.form.submit()”并在表单中放置一个提交按钮:

<input type="submit" value="Submit">

如果您试图不刷新页面,则需要使用ajax调用将返回JSON的web服务。

1)您的
中缺少If语句,要为每一行设置
selected=“selected”
,请执行以下操作:

<option value="1" <?php if($_REQUEST['month'] == 1){echo 'selected="selected"';}?>>1</option>

除了选择使用php代码创建选项之外,它还将减少页面中的代码

<?php
for($i=0;$i<=12;$i++){
    if($i==$_REQUEST['month']) {
        echo '<option selected="selected"   value="'.$i.'">"'.$i.'"</option>';
    }
    else{
        echo '<option   value="'.$i.'">"'.$i.'"</option>';
    }
}
?>

对于每个选择框,用户可以使用上述代码。但需要在
条件下更新请求参数
$\u request['month']

尝试此选项:

<html>
<head>
    <title>SO - Cart</title>
</head>
<body>
<form action="" method="get" name="months">
<select id="selectId" onchange="this.form.submit()" name="month" >
 <?php
for($i=0;$i<=12;$i++){
    if($i==$_REQUEST['month']) {
        echo '<option selected="selected"   value='.$i.'>'.$i.'</option>';
    }
    else{
        echo '<option   value="'.$i.'">'.$i.'</option>';
    }
}
?>
</select><br><br>
</form>
<?php
    $mul = 0;
    $rs='5000';
    $mul=$_GET['month'];
    $multiply= $rs*$mul;
?>
<?php echo "Rs ".$multiply; ?>
</body>
</html>

购物车



从上面修改的工作代码Duikboot的代码

只是在表单上方插入了我的PHP代码。它可以很好地使用它

<html>
<head>
<title>SO - Cart</title>
</head>
<body><?php
$mul = 0;
$rs='5000';
$mul=$_GET['month'];
$multiply1= $rs*$mul;
?>

<?php
$mul = 0;
$rs='2000';
$mul=$_GET['months'];
$multiply= $rs*$mul;
?>

<form action="" method="get" name="months">
<select id="selectId" onchange="this.form.submit()" name="month" >
 <?php
for($i=0;$i<=12;$i++){
if($i==$_REQUEST['month']) {
    echo '<option selected="selected"   value='.$i.'>'.$i.'</option>';
}
else{
    echo '<option   value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>
<?php echo "Rs ".$multiply1; ?><br><br>
<select id="selectId" onchange="this.form.submit()"  name="months" >
 <?php
for($i=0;$i<=12;$i++){
if($i==$_REQUEST['months']) {
    echo '<option selected="selected"   value='.$i.'>'.$i.'</option>';
}
else{
    echo '<option   value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>
<?php echo "Rs ".$multiply; ?>
<input type="submit" />
</form><br><br>
</body>
</html>

购物车





您的代码解决了第二个问题,但第一个下拉框的值会自动更改为0。@Markonly下拉框工作,而我使用php代码运行它时,它不工作。@Markonly“$i”显示为输出。。值不显示。@duikbootOh,我可能在“引号”上犯了一个错误。您现在可以再次测试吗?谢谢!(它在这里工作).No No再次显示只有下拉框出现,
“$i”
value@duikboot请将您的页面另存为dropdown.php.Oops只是犯了一个错误我尝试了这个。使用一个下拉框很好。但是当我放置2-3个下拉框时,它不起作用,只有一个值起作用,另一个值得到刷新。@duikboot例如,我刚刚发布了第一个下拉框d但你可以在图片中看到真实的场景@Zack@coolprarun,刚刚更新了我的答案,您使用的是$\u GET而不是$\u POST,但是我使用了$\u REQUEST来匹配您的代码。如果您在循环中使用上述代码,它将检查每个“月”选项是否为选中的,如果为选中的,则将其标记为
选中的