【发布时间】:2013-02-17 03:07:03
【问题描述】:
我对使用 jQuery 和 JavaScript 还是很陌生,但这里有。我正在尝试为我的网站创建一个切换功能。有一个用于选择事件名称的输入,该名称默认显示为数据库中所有事件的下拉列表 - 但我希望有一个选项可以将其更改为手动输入并键入事件名称作为什么随心所欲。
我可以让它正常工作!但是我无法获得将输入 BACK 更改为选择框的链接。
请参阅下面的代码:
/// jQuery 代码 ///
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function toggleEventInput() {
$("#EventNameDropDown")
.replaceWith('<input type="text" size="35" name="boxEvent" class="FieldInput" />');
$("#EventNameChange")
.replaceWith('<a href="javascript:toggleEventInputBack();"> (Drop Down Input)</a>');
}
function toggleEventInputBack() {
$("#EventNameDropDown")
.replaceWith('TEST');
$("#EventNameChange")
.replaceWith('<a href="javascript:toggleEventInput();"> (Manual Input)</a>');
}
</script>
/// HTML 代码 ///
<table>
<tr>
<td class="label">Event:</td>
<td>
<span id="EventNameDropDown">
<select name="boxEvent" class="FieldInput" style="width:254px;" />
<?= $EventNameDropDownList ?>
</select>
</span>
<span id="EventNameChange">
<a href="javascript:toggleEventInput();"> (Manual Input)</a>
</span>
</td>
</tr>
<tr>
<td class="label">Company:</td>
<td><input type="text" size="35" name="boxEvent" class="FieldInput" /></td>
</tr>
</table>
如上所述,当您单击指向“(手动输入)”的原始链接时,它可以正常工作并将其更改为文本框。但是,当您单击“(下拉输入)”链接时,它什么也不做。
任何帮助将不胜感激。
【问题讨论】:
-
您应该纠正两件事。 “公司”输入元素与“事件”输入具有相同的名称。它们都是“boxEvent”。您的选择标记末尾还有一个“/”。
-
是的,很抱歉,在我把它贴在这里之后,我意识到了“boxEvent”双倍。我已经在网站上更正了。
标签: javascript jquery select text toggle