我有以下表格。其目的是查看选择了什么状态并将该值传递给脚本,该脚本将动态添加更多具有自动递增 ID 的下拉框以存储在数据库中。我没有脚本错误,但动态字段不会弹出到位。顺便说一句,这是基于 Rob 在这里的工作,http://www.web-design-talk.co.uk/58/adding-unlimited-form-fields-with-jquery-mysql/#comment-70752。任何人都可以看到我正在做的任何错误。
<html>
<head>
<title>Form</title>
<script type="text/javascript" src="../lib/jquery/jquery-1.8.1.min.js"></script>
</head>
<body>
<form id="Form" name="Form" method="post" action="Form.php">
<fieldset>
<legend>Form</legend>
<label>Operations State: </label>
<select name="StateID" id="StateID">
<option value="">Select a State</option>
<option value="CA">CA</option>
<option value="NY">NY</option>
<option value="PA">PA</option>
</select>
<br>
<div id="container">
<p id="add_field">
<label><a href="#" onclick="getClass(StateID.value)">Add A Class Code</a></label>Please select a Class Code
</p>
</div>
</fieldset>
</form>
<script>
var i = 0;
function getClass(str){
var StateID = $("#StateID").val();
$('p#add_field').on('click', function(){
i += 1;
$('#container').before
if (StateID == "CA"){
('<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="1">1</option><option value="2">2</option><option value="3">3</option>' + '</select><br>')
}
else if (StateID == "NY"){
('<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="4">4</option><option value="5">5</option><option value="6">6</option>' + '</select><br>')
}
else if (StateID == "PA"){
('<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="7">7</option><option value="8">8</option><option value="9">9</option>' + '</select><br>')
}
else{
}
});
}
</script>
</body>
</html>
先感谢您!
经过一些编辑,我想出了以下...
<script>
var i = 0;
function getClass(){
var StateID = $("#StateID").val();
$('p#add_field').on('click', function(){
i += 1;
if (StateID == "CA"){
$('#container').before(
'<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="1">1</option><option value="2">2</option><option value="3">3</option>' + '</select><br>')
}
else if (StateID == "NY"){
$('#container').before(
'<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="4">4</option><option value="5">5</option><option value="6">6</option>' + '</select><br>')
}
else if (StateID == "PA"){
$('#container').before(
'<label>Select a Class Code</label>' + '<select name="ClassCode[]" id="ClassCode_' + i + '">' + '<option value="7">7</option><option value="8">8</option><option value="9">9</option>' + '</select><br>')
}
else{
}
})
}
</script>
此版本确实会看到 StateID 并随着每个新添加相应地更改下拉框。唯一的问题是,随着 ID 的自动增加(例如 ClassCode_1、ClassCode_2 等),它还增加了输出到页面的字段数。如果能解决这个问题,那就太棒了!