我把自己弄得有点糊涂了,一个解决方案成功了一半。
基本上,我使用.load()
附加到 a的基本功能<select>
来拉另一个<select>
通过 PHP/MySQL 填充的表格。然后我想要的是这个新加载<select>
的然后加载另一个通过 PHP/MySQL 填充的表单。当用户更改其中任何一个时,可以<select>
说,更改实际上需要向下移动堆栈。
在选择选项并且关闭A .change()
OFF时,它在其工作时,工作完全正常。问题是第二个的初始加载<select>
,我不知道如何触发.load()
我想要的。
当前版本在这里: http: //kick.hooplahosts.co.uk/fire/FireServiceProject/bag.php
并且违规表格在左侧(级别,编号和项目),您会看到首次加载或刷新的多选不加载,或者即使在更改包级别时,它也会在包号中进行实际选择做我想做的事。
我已经编辑了大部分不相关的 html,并且脚本有点“正在进行中”
HTML
<form action="php/bagCreate/newBag_bag.php" method="post" id="form1">
<h2>Select Bag Level</h2>
<select id="target" class="get" name="bagLevel">
<option>Level 1</option>
<option>Level 2</option>
<option>Level 3</option>
</select>
</form>
<div id="upForm">
<label>Bag Number</label>
<form action="php/bagCreate/getContents_bag.php" method="post">
<select id="target" class="getContents" name="bagNumber">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</form>
<div id="upFormContents">
<form>
<label>Items in Bag</label>
<select id="select2" class="input-large" multiple="multiple" size="20">
<option>dsfgdsg</option>
<option>dsfgdsgdfgfd</option>
</select>
</form>
JS
$(document).on("change", "select.getContents", function(){
var action = $('select.getContents').parent().attr('action');
fillContents(action)
});
$(document).on("ready", "select.getContents", function(){
var action = $('select.getContents').parent().attr('action');
fillContents(action)
});
function fillContents(action){
$('#upFormContents').load(action,
$('select.getContents').parent().serializeArray());
}