再见
我需要根据用户选择创建一个动态表单。
即在第一个表单字段中,我选择 "John Smith"
,这将填充(通过外部 php/mysql 文件)第二个选择字段 "Artist, Carpenter, Other"
,如果我选择艺术家,我会用 "Singer, Painter, Sculptor"
等填充第三个选择字段
鉴于我在 javascript 方面的无能,我花了一上午的时间在谷歌上搜索脚本,然后我找到了一个 cool tutorial here
它有效,它很干净,但它只更新 ID 为 txtResult
的 div,它静态包含在 js 文件中(参见 ajax_req.js 文件的第 19 和 31 行)。 js).我以为我可以通过 GET 传递 id 名称,但我不知道如何让脚本识别变量。
这是代码:
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtResult").innerHTML= xmlHttp.responseText;
}
}
我想通过 GET id name 并有这样的东西:
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("GET[idName]").innerHTML= xmlHttp.responseText;
}
}
你能帮帮我吗?如果你碰巧知道更好的东西,我也可以更改脚本
再见,谢谢,
埃德
最佳答案
这是 HTML ...
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(function(){
$.get('x.php?f_name=get_names',function(data){
$("#select_name").html(data);
$.get("x.php?f_name=get_jobs&s_name="+$("#select_name").val(),function(data){
$("#select_job").show();
$("#select_job").html(data);
})
});
$("#select_name").change(function(){
$.get("x.php?f_name=get_jobs&s_name="+$("#select_name").val(),function(data){
$("#select_job").html(data);
})
});
})
</script>
</head>
<body>
<select name="name" id="select_name">
</select>
<select name="job" id="select_job"></select>
</body>
</html>
,这是PHP端(在代码中称为x.php)
<?php
$names = array("A","B","C");
$jobs = array(array("Job_1","Job_2") ,array("Job_1"), array("Job_1","Job_2","Job_3"));
GLOBAL $names;
GLOBAL $jobs;
switch ($_GET['f_name']) {
case 'get_names':
get_names($names);
break;
case 'get_jobs':
get_jobs($jobs,$_GET['s_name']);
break;
default:
# code...
break;
}
function get_names($names){
foreach ($names as $key=>$value) {
echo "<option value='$key'>$value</option>";
}
return false;
}
function get_jobs($jobs,$s_name){
foreach ($jobs[$s_name] as $key => $value) {
echo "<option value='$key'>$value</option>";
}
return false;
}
?>
您可以创建自己的数组,例如 $names 和 $jobs,并添加一些 case 以切换以获得更复杂的系统...
祝你有美好的一天。
关于javascript - 在 Javascript 中通过 GET 获取 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091549/