我正在嘗試使用bootstrap typehead插件。如果php內部爲javascript
的理念是:
- 我有一個製造商選擇
- 我有一個模型選項
- 只有當製造商選項被選中,模型選項啓用。
- 模型選項由製造商過濾。
CakePHP的控制器是給我製造商和型號(這就是我稱之爲品種,而不是模型的命名約定)
model_source = [];
$('#manufacturer').typeahead({
source: [
<?php
foreach($manufacturers as $manufacturer):
if($manufacturer['Manufacturer']['bow'] == true):
?>
"<?php echo $manufacturer['Manufacturer']['manufacturer']; ?>",
<?php
endif;
endforeach;
?>
]
});
$('#manufacturer').live("change", function(){
if($(this).val()){
$('#model').attr('disabled', false);
manufacturer = $(this).val();
<?php
foreach($varieties as $model):
if($model['Variety']['bow'] == true):
?>
model_source.push("<?php if($model['Variety']['manufacturer_id'] == "+manufacturer+"){echo $model['Variety']['model'];}else{ continue; } ?>");
<?php
endif;
endforeach;
?>
}else{
$('#model').attr('disabled', true);
}
});
我遇到的問題的「的findall」陣列是我嘗試做
model_source.push("<?php if($model['Variety']['manufacturer_id'] == "+manufacturer+"){echo $model['Variety']['model'];}else{ continue; } ?>");
如果我硬編碼的製造商變量是PHP的所有在一行,然後它工作(沒有else語句,這也給我的問題,我得到我的控制檯上ILEGAL錯誤)
任何想法,爲什麼當我連接PHP字符串與JavaScript變量,然後不起作用?!
http://jsfiddle.net/mmoscosa/Y6hEA/
謝謝!
如果您嘗試查看已經生成的結果,該怎麼辦?你有js錯誤 - 所以請給我們你的javascript代碼,不用php – zerkms
這裏是我的因爲我有它http://jsfiddle.net/mmoscosa/Y6hEA/這是更好嗎?!可能我讓自己變得複雜了很多 – mmoscosa
沒有理由,順便說一句,你正在解析你的代碼。例如,這個結構:'?>「<?php echo'所有你在那裏做的是關閉你的php,然後添加一個報價,然後打開你的php然後回顯,所有這些都可以被忽略掉 –