关于javascript在PHP中添加下拉菜单的代码

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:55:57
代码如下
{literal}
<script language="JavaScript">
<!--

var ntutor = 1;
function Expand_t(){
ntutor++;
tutor.insertAdjacentHTML('BeforeEnd','<select name="tutor'+ntutor+'">
{foreach from=$tutor item=value}
<option>
{$value}
</option>
{/foreach}
</select>');
}
self.document.sy.tutor_num.value=ntutor;
return false;
}
//-->
</script>
{/literal}
<tr><th><label>导师</label></th>

<th><a onClick="return Expand_t();" style="cursor:hand">增加导师</a><br>
<div id=tutor><select name="tutor1">
{foreach from=$tutor item=value}
<option>
{$value}
</option>
{/foreach}
&

JS中的引号中的字符串是不能换行的。

例如:
str = "ldfd
dlfjdfjd";
是不对的。要改成
str = "ldfd\ndlfjdfjd";
或者(\后边没有东西了)
str = "ldfd\
dlfjdfjd";

而你的代码:
tutor.insertAdjacentHTML('BeforeEnd','<select name="tutor'+ntutor+'">
{foreach from=$tutor item=value}
<option>
{$value}
</option>
{/foreach}
</select>');

输出来的肯定有换行。你试试这样:
tutor.insertAdjacentHTML('BeforeEnd','<select name="tutor'+ntutor+'">{foreach from=$tutor item=value}<option>{$value}</option>{/foreach}</select>');

首先,你也不说清楚你的代码执行结果是什么样
或者现象是什么样,你这样贴出来没法看,有需要php环境,还需要浏览器
很难测试

接着:
select标签页不是那么写的
<select name="tutor">
<option value="1">内容</option>
....
</select>

你的代码里:
{foreach from=$tut