javascript - 从 JavaScript 更改文本字段

标签 javascript html

我的嵌入式设备上有一个小网页,其中包含以下代码:

<th width="310"
DHCP Relay:&nbsp;&nbsp;
</th>
<td>&nbsp;&nbsp;</td>
<td>
<% nvram_get("rg_dhcp_relay_enable""); %>
</td>

其中“nvram_get”返回 1 或 0。我在这方面有两个问题:

(1) 我想分别打印“ON”或“OFF”,而不是 1 或 0。是否可以在 <%...%> 中执行类似“if .. then ..”的操作,或者还有其他方法吗?

(2) 每当我重新加载页面时,此代码都可以正常工作。另外,在此页面上,我有选择列表,我希望上面的文本能够根据从列表中选择的项目进行相应更改。

所以我决定编写一个 JavaScript 函数并将其挂接到“onChange”事件上。听起来有道理吗?我只是不知道如何从 JS 函数修改 .. 中的文本。

有什么想法吗? 谢谢!

最佳答案

1) 添加 Aaron Digulla 的答案,如果您使用 Java,最好将 Java 代码移至 servlet 并将方法调用的结果存储在属性中。然后您可以在 JSP 中使用 JSTL 核心“out”标记执行此操作,

<td> 
  <c:out value="${relayEnable == 1 ? 'ON' : 'OFF'}"> 
</td>

这里的“relayEnable”是保存方法调用结果的属性的名称。

2) 如果您想在更改 select 元素时更改此 'td' 的内容,您可以使用 select 的 'onchange' 事件,并在事件处理程序中设置 TD 的innerHTML (由 ID 引用)。

<table>
<tr>
  <td id="relayIndicator">
    <c:out value="${relayEnable == 1 ? 'ON' : 'OFF'}"> 
  </td>
</tr>
</table>

<select onchange="changeRelayIndicatorText(this.options[this.selectedIndex].value)">
    <option value="1">One<option>
    <option value="2">Two</option>
</select>

<script type="text/javascript">
  function changeRelayIndicatorText(value) {
    document.getElementById('relayIndicator').innerHTML = (value == 1) ? 'ON' : 'OFF';
  }
</script>

关于javascript - 从 JavaScript 更改文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3456376/

相关文章:

javascript - JSFiddle 到 HTML 文件

调整 CK 编辑器大小的 Javascript 不起作用

javascript - 在javascript中为动态表添加表头

Javascript cookie 显示/隐藏 onclick

javascript - ionic : Error: undefined is not an object

javascript - $.getJSON 在 for 循环中调用行为不当

javascript - 将 eval 与 `with` 结合使用

java - GWT CellList 渲染完成处理程序?

javascript - jqplot转换为图像不显示y轴html

javascript - 文本替换后 contentEditable div 没有焦点