我正在尝试设置一个多选框,其中包含1个主选择框和一个动态数量的子框。
例如: 我有10个地区,在这10个地区内可以有100个县。我正在使用jquery来使用“Add”和“Remove”按钮在不同的选择器框之间移动这些县。
现在,挑战是创建javascript以通过ajax提交更改。 我知道我现在正在通过PHP使javascript动态化,所以我想知道更简单的方法,以及如何将这些变量传递到数据字符串中。
现在我正在使用它:
<script type="text/javascript">
$().ready(function() {
<?
$territories = $db->get_results("SELECT * FROM tbl_territories");
foreach ($territories as $territory) {
echo "
$('#remove-{$territory->id}').click(function() {
return !$('#territory-{$territory->id} option:selected').remove().appendTo('#county');
$.ajax({
type: 'POST',
url: 'add.territoryselect.php',
data: {
action: 'remove',
county: $(button).siblings('[name=/"ClientId/"]').attr(/"id/"),
success: function(msg){
alert( 'Data Saved: ' + msg );
}
});
});
$('#add-{$territory->id}').click(function() {
return !$('#county option:selected').remove().appendTo('#territory-{$territory->id}');
});";
}
?>
});
</script>
页面如下所示:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<?
foreach ($territories as $territory) {
echo "
<tr valign='middle'>
<td align='center'>
<a href='#'>{$territory->name}</a><br>
</td>
<td align='center'><label for='county'></label>
<select style='width: 200px;' name='territory-{$territory->id}' size='5' multiple='multiple' id='territory-{$territory->id}'>";
foreach ($counties as $county) {
if ($county->territory == $territory->id) {
echo "<option value='{$county->id}'>{$county->county}, {$county->state}</option>";
}
}
echo "</select>
</td>
<td align='center'><input type='submit' class='button green size-120 fl' value='<< Add' id='add-{$territory->id}'/><br /><br />
<input type='submit' class='button fl size-120' value='Remove >>' id='remove-{$territory->id}' />
</td>
</tr>";
}
?>
</table></td>
<td align="center" valign="top"><select style="width: 200px;" name='county' size='50' multiple='multiple' id='county'>
<?
foreach ($counties as $county) {
if (is_null($county->territory)) {
echo "<option value='{$county->id}'>{$county->county}, {$county->state}</option>";
}
}
?>
</select></td>
</tr>
</table>
显然这个页面现在不能正常工作,因为ajax部分是不完整的,因为我确信有更好的方法可以做到这一点,但我的jquery / javascript知识缺乏。
感谢您的帮助!
答案 0 :(得分:1)
/"
应该是
\"
您还可以使用其他语法:
echo <<< EOD
your js here
EOD;
或者你应该使用模板引擎