对于我的选择框切换,我需要通过使用 php 在加载时生成一个 js 数组来为选择选项值预先构建一个 javascript 数组。到目前为止,我通过创建一个对象并将其添加到一个数组中来做到这一点,但现在我需要一个对象的属性是一个年份数组。我很接近(如果我 document.write 对象的 clientForm 属性将返回一个 csv 列表),但我不认为它是一个数组,因为我无法访问 length 属性并且之前的 document.write 不输出大批。谁能发现我做错了什么或建议另一种方法?
这是输出 Javascript 数组的 php(我在 CodeIgniter 中构建了系统):
echo '<script type="text/javascript">';
$array = 'var companies = new Array();';
$i = 0;foreach($clientList as $client) :
$array .= 'arrayItem'.$i.' = {clientNo:"'.$client->client_id.'", clientCompany:"'.$client->client_company_name.'", clientRef:"'.$client->client_ref_no.'", clientForms: Array(';
if($client->client_forms != "")
{
$a = 0; foreach($client->client_forms as $form) :
$array .= $form.", ";
++$a; endforeach;
}
$array = substr($array, 0, -2);
$array .= ')};';
$array .= 'companies['.$i.'] = arrayItem'.$i.'; ';
++$i; endforeach;
echo $array;
echo '</script>';
这是当前的输出:
<script type="text/javascript">
var companies = new Array();
arrayItem0 = {clientNo:"1", clientCompany:"Test1", clientRef:"UG123HS", clientForms: Array(1, 15)};
companies[0] = arrayItem0;
arrayItem1 = {clientNo:"2", clientCompany:"Test2", clientRef:"UF321HS", clientForms: Array(17)};
companies[1] = arrayItem1;
</script>
如果您想看一下,这里是 jsfiddle 上的完整输出代码( jsfiddle 似乎无法使我的 onclicks 工作,但它们在实际网页上可以)。
谢谢!