我有一个表单,用户可以从下拉菜单中选择一个类别,现在,我还有另一个下拉字段,提供了项目的子类别。
现在,我希望第二个字段仅显示那些选项,这取决于类别字段的输入。
例如
var ix = 1;
Qualtrics.SurveyEngine.getEmbeddedData('V'+ix); <-- this works
"${e://Field/V"+ix+"}"; <-- this doesn't work
如果解决方法是笔记本电脑,那么我希望sql像这样
<label>Category*</label>
<?php
$sql = "select * from category";
$stmt = $conn->prepare ( $sql );
$result = $stmt->execute();
echo '<select class="custom-select form-control" name="cat" id="cat"
onChange="getinf(this.value)" required>';
echo '<option value="">'.'</option>';
foreach($stmt as $row){
echo '<option value ="'.$row['cat'].'">'.$row['cat'].'</option>';
}
$test=$row['cat'];
echo '</select>';
?>
因此其他下拉列表将仅显示笔记本电脑名称
填写表格时我想要的所有这些
答案 0 :(得分:0)
您可以通过AJAX请求完成此操作。获取已选择的当前选项值,并发出AJAX请求以填充项目的子类别。通过传递<select id="cat">
的当前选定值,这是可能的。在populate_subcategory.php
内,您将运行一个SQL查询,该查询返回所有可能的子类别,但带有AJAX中的过帐值。
主要php:
<label>Category*</label>
<?php
$sql = "select * from category";
$stmt = $conn->prepare ( $sql );
$result = $stmt->execute();
echo '<select class="custom-select form-control" name="cat" id="cat"
onChange="getinf(this.value)" required>';
echo '<option value="">'.'</option>';
foreach($stmt as $row){
echo '<option value ="'.$row['cat'].'">'.$row['cat'].'</option>';
}
$test=$row['cat'];
echo '</select>';
<select name="subcat" id="subcat">
</select>
?>
AJAX脚本
$('#cat').change(function(){
$.ajax({
url: "populate_subcategory.php",
data: { "value": $("#cat").val() },
type: "post",
dataType: 'json',
success: function(response){
$('#subcat').empty();
$.each(response,function(value) {
$("#subcat").append('<option value=' + value + '>' + value +'</option>');
});
}
});
});
populate_subcategory.php:
// Your Passed Value from AJAX
$value = $_POST['value'];
$data = array();
$sql = "select * from store where cat = '$value'";
$stmt = $conn->prepare ( $sql );
$result = $stmt->execute();
foreach($stmt as $row){
array_push($data, $row['subcat'];);
}
echo json_encode($data);
JQuery / AJAX库:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">