我尝试了很多方法,没有结果。我有5个php变量,$menu5
到var menu_populator = "";
for (var x = 1; x <= count; x++) {
menu_populator += '<li><a class="myclass" href="#link">' + '<?php echo $menu' + x + '?>' + '</a></li>';
}
$('#nav_menu').html(menu_populator);
,它们评估一个关键字。我试图在javascript中填充这5个php变量并显示它。以下代码不起作用。处理php变量的部分出了什么问题?
{{1}}
答案 0 :(得分:1)
根据您获取菜单数据服务器端的方式,您可以尝试以下两种方法。一个用于设置$menu
变量,但是如果要从数据库获取数据或在循环中创建$menu
变量,则可能会更好地找到第二种方法。
方法一 - PasteBin
将您的php变量回显到javascript数组中。
var myarray=["<?php echo $menu1;?>","<?php echo $menu2;?>","<?php echo $menu3;?>","<?php echo $menu4;?>","<?php echo $menu5;?>"];
方法二 - PasteBin
创建此数组服务器端,如果您在循环中创建当前$menu
变量,这将更好,您可以使用array_push()
将值推送到数组中。
<?php
// PHP Array
$menu = array('Home', 'Gallery', 'About');
// How to push new item into array
array_push($menu, 'Contact');
?>
然后只需将此数组回显到您的javascript myarray
变量。
var myarray=<?php echo json_encode($menu);?>;
我使用以下javascript来测试这两种方法,两者似乎都运行得很好。我更喜欢第二种方法,但我决定提供这两种方法,因为我不知道你的PHP是什么样的,或者你的$menu
变量是如何定义的,所以这应该涵盖两者。
window.onload=function(){
for(var i=0; i<myarray.length; i++){
var link= document.createElement('a');
link.href="#";
link.innerHTML=myarray[i];
document.body.appendChild(link);
document.body.appendChild(document.createElement('br'));
}
}
如果您对上述源代码有任何疑问,请在下面留言,我会尽快给您回复。
我希望这有帮助。快乐的编码!
答案 1 :(得分:0)
这样的事情可以解决问题
- (IBAction)BtnSection_ExpandCollapseAction:(UIButton *)sender {
sectionselected = sender.tag; // remember which section is tapped
if(sender.selected){
Isopen = FALSE; // whether to expand or to collapse
sender.selected = false;
[sender setImage:[UIImage imageNamed:@"BtnPlus"] forState:UIControlStateNormal];
}else{
Isopen = TRUE;
sender.selected = TRUE;
[sender setImage:[UIImage imageNamed:@"btnMinus"] forState:UIControlStateNormal];
}
[self.tblView reloadData];
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *HeaderView = [[UIView alloc] initWithFrame:CGRectMake(5, 5, self.view.frame.size.width-10, 35)];
HeaderView.backgroundColor = [UIColor lightGrayColor];
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width-80, 5, 50, HeaderView.frame.size.height-10)];
[btn setImage:[UIImage imageNamed:@"BtnPlus"] forState:UIControlStateNormal];
[btn addTarget:self
action:@selector(BtnSection_ExpandCollapseAction:)
forControlEvents:UIControlEventTouchUpInside];
btn.tag = section;
UILabel *LblHeader = [[UILabel alloc] initWithFrame:CGRectMake(20, 5,HeaderView.frame.size.width-10, HeaderView.frame.size.height-10)];
if(section == 0){
LblHeader.text = @"Chief Compalain";
}else if(section == 1){
LblHeader.text = @"Extra Oral";
}else if(section == 2){
LblHeader.text = @"Intra Oral";
}else if(section == 3){
LblHeader.text = @"Radiographical";
}
LblHeader.textColor = [UIColor whiteColor];
[HeaderView addSubview:LblHeader];
[HeaderView addSubview:btn];
return HeaderView;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(Isopen){
if(section == sectionselected){
return 7;
}else{
return 0;
}
}else{
return 0;
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
}