我是javascript的新手。在提出这个问题之前,我经历了将varialbe从PHP传递到js的明显步骤。我可以将php var传递给js var并使用window.alert轻松输出,变量确实显示在那里。但我必须尝试将其放入一种不是最简单的脚本中。我使用的脚本实际上是一个显示菜单的单平台脚本。
<script type="text/javascript" src="http://menus.singleplatform.co/businesses/storefront/?apiKey=ke09z8icq4xu8uiiccighy1bw"></script>
<script>
var options = {};
options['PrimaryBackgroundColor'] = '#d9d9d9';
options['MenuDescBackgroundColor'] = '#d9d9d9';
options['SectionTitleBackgroundColor'] = '#f1f1f1';
options['SectionDescBackgroundColor'] = '#f1f1f1';
options['ItemBackgroundColor'] = '#ffffff';
options['PrimaryFontFamily'] = 'Roboto';
options['BaseFontSize'] = '15px';
options['FontCasing'] = 'Default';
options['PrimaryFontColor'] = '#000000';
options['MenuDescFontColor'] = '#000000';
options['SectionTitleFontColor'] = '#555555';
options['SectionDescFontColor'] = '#555555';
options['ItemTitleFontColor'] = '#555555';
options['FeedbackFontColor'] = '#555555';
options['ItemDescFontColor'] = '#555555';
options['ItemPriceFontColor'] = '#555555';
options['HideDisplayOptionPhotos'] = 'true';
options['HideDisplayOptionDisclaimer'] = 'true';
options['MenuTemplate'] = '2';
//options['MenuDropDownBackgroundColor'] = '#f1f1f1';
options['MenuIframe'] = 'false';
new BusinessView("restaurantName", "menusContainer", options);
</script>
<script type="application/javascript">
$(document).ready(function() {
var interval = setInterval(function() {
if ($('#sp_main').length > 0) {
$('#menusContainer').after('<div class="more-link-container"><a class="more" >More <i class="fa fa-caret-down"></i></a><a class="less">Less <i class="fa fa-caret-up"></i></a></div>');
$('.more-link-container .less').hide();
clearInterval(interval);
}
}, 50);
});
</script>
我必须在第一个主要脚本的末尾切换出新BusinessView "restaurantName"
中显示的文本。
该值来自使用PHP的$ _POST,我需要将该值放入该部分。我尝试直接在该行中打印出js var并且它会中断。我尝试使用php回显php变量并且它中断了。我应该重做这个代码,以便将一个变量传递给这个javascript类(我假设它是一个类吗?我太过新了,因为JS很聪明)。任何帮助将不胜感激。
所以这就是我所做的:
我创建了一个简单的js var到php var和窗口警告到屏幕。这按预期工作:
<script type="text/javascript">
rest_singlemenujs = <?php echo json_encode($rest_singlemenu); ?>;
window.alert(rest_singlemenujs);
</script>
当我更新脚本以显示此内容时:
new BusinessView("rest_singlemenujs", "menusContainer", options);
它只显示我输入的文本而不是实际传递变量。所以下一步可能应该是整个字符串,变量位于中间,所以我这样做:
document.write("new BusinessView("' + rest_singlemenujs + '", "menuContainer", options);";
这只会阻止脚本在新的BusinessView上执行(“
然后我在var名称周围用()尝试这一行但是没有传递var:
new BusinessView("(rest_singlemenujs)", "menusContainer", options);