目前,我在这些行http://jsfiddle.net/4Zw3M/1/进行了设置,其中第二个下拉列表由前一个选择填充。
问题是这些字段是由数据库填充的。因此,作为PHP,我会将选项下拉列表写为提交后保留值。
<option <?= $foobar == $foo->slug ? 'value="'.$foo->slug.'" selected="selected"' : 'value="'.$food->slug.'"'?>><?=$foo->name?></option>
我无法弄清楚在用户提交表单后如何保留该值。同样是的,我在页面顶部有$foobar = mysqli_real_escape_string($mysqli, $_POST['foobar']);
来限制价值。
其次我试图弄清楚如何以这种格式添加值,因为该值实际上是名称的id。
|id| |name |
|1 | |ten |
|2 | |twenty|
因此,在正常格式化中,它将是
<option value="<?=$foo->id?>"><?=$foo->name?></option>
目前我只能使值与名称相同。
答案 0 :(得分:0)
您可以将下拉菜单文本发布到操作页面,并使用以下方法捕获值: -
$s_option = $_POST["somename"];
根据所选文本的值($ s_option)调用这样的JS函数: -
function func1()
{
document.forms[0].somename.selectedIndex=0;
}
function func2()
{
document.forms[0].somename.selectedIndex=1;
}
依旧......
答案 1 :(得分:0)
我会在jquery / ajax / php中这样做,希望这会有所帮助:
<script type="text/javascript">
$(document).ready(function(){
$('#dropdown1').on('change', function(){
var value = $(this).val();
$.ajax({
type: "post",
url: "path_to_your.php",
data: ({p : value}),
datatype: "json",
success: function(results){
$.each(results, function(v) {
$('#dropdown2').append($('<option>', {
value: v,
text: v
}));
});
}
});
});
});
</script>
</head>
<body>
<select id="dropdown1">
<option>Select One..</option>
<option value="something">Something</option>
<select>
<select id="dropdown2">
</select>
</body>