【问题标题】:passing dynamic parameters in script.aculo.us在 script.aculo.us 中传递动态参数
【发布时间】:2013-05-08 08:50:31
【问题描述】:

我想在 script.aculo.us 的参数中传递动态值,以便在我的 jsp 页面中进行自动建议

下面是我的代码,我想在其中获取复选框的值并将其传递给服务器。但是在服务器端jsp中,它的打印原样(即pf复选框值它的打印document.getElementById("mgmtsystem").checked

<div class="auto_complete"   id="object_name_auto_complete"></div>
<script type="text/javascript">

new Ajax.Autocompleter('<%=name%>', 'object_name_auto_complete', '<%=request.getContextPath()%>/component/ajax_introdata', { parameters: 'suggEnable= document.getElementById("mgmtsystem").checked' })
</script>

在上面的代码中,我试图发送document.getElementById("mgmtsystem").checked 的值,但它只是将它作为相同而不是它的值传递

【问题讨论】:

  • document.getElementById("mgmtsystem").checked 将仅返回 true/false 以防检查状态。
  • 是的。我只想将该真/假值传递给服务器,但不知何故它没有解析真/假值,而是将值作为 document.getElementById("mgmtsystem").checked 发送
  • 根据w3 Schools,它只返回真/假。你能不能过去mgmtsystem HTML 所以可以有一些想法。
  • 我只是把相关代码放在jsfiddle.net/sukumar/emZrJ
  • 看看这个。这很简单。 jsfiddle.net/emZrJ/2

标签: javascript prototypejs scriptaculous


【解决方案1】:

如果您将 javascript 复制到代码中的问题中 - 这就是原因

此代码不会让document.getElementById(....) 被评估并将其视为字符串

{ parameters: 'suggEnable= document.getElementById("mgmtsystem").checked' }

试试这个

{ parameters: 'suggEnable='+document.getElementById("mgmtsystem").checked }

或者更好的是使用 PrototypeJS 内置的实用方法

{ parameters: 'suggEnable='+$("mgmtsystem").checked }

【讨论】:

  • 我检查过,但它仍然在传递字符串。相反,我在 scriptaculos 中使用了回调:函数,并且在那里我动态地附加了值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-15
相关资源
最近更新 更多