PHP/Javascript-根据第一个Select元素中的选择更改第二个Select元素,并通过POST和页面重新加载保留选择
首先选择:PHP/Javascript-根据第一个Select元素中的选择更改第二个Select元素,并通过POST和页面重新加载保留选择,javascript,php,html,select,onchange,Javascript,Php,Html,Select,Onchange,首先选择: <?php function select_size($itemSizes){ echo "<select id=\"size\" name=\"size\">"; $sizes = array("0" => "All Sizes","1" => "Large","2" => "Medium","3" => "Small"); foreach($sizes as $s => $si){ if($i
<?php
function select_size($itemSizes){
echo "<select id=\"size\" name=\"size\">";
$sizes = array("0" => "All Sizes","1" => "Large","2" => "Medium","3" => "Small");
foreach($sizes as $s => $si){
if($itemSizes == $s){$selected = "selected";}
echo "<option value=\"" . $s . "\" $selected>" . $si . "</option>\n";
$selected = "";
}
echo "</select>\n";
}
?>
第二选择:
$(document).ready(function() {
$("#eventCategory").change(function() {
var val = $(this).val();
$("#eventType").html(options[val]);
});
var options = ["
<option value='all_items'>ALL Items</option>
<option value='red'>red</option>
<option value='blue'>blue</option>
<option value='green'>green</option>
];
});
由于PHP,First select保留值。一旦更改正常工作,因为一旦选择了Select 1中的值,Select 2就会填充相应的列表。我遇到的问题是SELECT2没有通过POST和页面重新加载来保留它的值。我已经设计了一个JS来实现这一点,但是它破坏了onChange函数。我正试图同时实现这两个目标,但到目前为止都失败了。是的,我是JS的业余爱好者。对很多其他语言都很好。语法给我带来了麻烦。非常感谢您的帮助。您可以在首次选择触发onChange事件时发送ajax。 然后,在这个Ajax成功之后,您可以从php获取值并更改第二个值。在使用ajax时,第一个选项不会被修改 当您要求重新加载页面时,您需要在浏览器可以呈现的视图中打印脚本,如下所示:
$('#selector1 option[value="'.$value.'"]').attr("selected", "selected");
如果您知道每个选项的ID(如果有):
echo "<script> $('#selector1 option#'.$idOption.').attr('selected', 'selected'); </script>";
其中,在第一种情况下,$idOption是在第一个选择器上选择并从php检索的选项的id$第二个脚本中的值为。。嗯,价值
我真的不知道是否有解决你的整个问题,因为我只能看到你的代码的一部分,如果你提供反馈,我会编辑它
也许您可以使用var_dump/console.log值来获取数据的回溯,并查看数据丢失的位置,以确保在功能上传递所需的数据。“我遇到的问题是Select 2没有通过POST和页面重新加载来保留其值。”-那么创建它的服务器端代码在哪里呢?您刚刚向我们展示了一些操纵已经存在的字段的JavaScript。