无法在onclick方法中传递参数
Unable to pass parameter in onclick method
我有一个丰富的模态面板。在里面我有一个丰富的:挑选名单。我在同一个面板上有一个保存按钮。当我点击Save按钮时,我想将所选的id作为参数发送到按钮的onclick属性中。(我使用的是:commandLink按钮)。但无论如何,我无法发送参数。当我在javascript方法中使用alert检查它时,它显示为null。
我的富人:选择名单代码是
<h:panelGroup id="distTypesPanel">
<div class="form-row fl" style="height: 180px; width: 400px;">
<label for="dist_type">Distribution Type:<span
class="required">*</span> <h:message for="distTypesList"
errorClass="error" />
</label>
<rich:pickList id="distTypesList" copyAllControlLabel=" "
copyControlLabel=" " removeControlLabel=" "
removeAllControlLabel=" " value="#{asset.selectedDistTypes}"
converter="javax.faces.Integer">
<f:selectItems
value="#{lookupManager.setUpDMRLkpDistTypeMap()}" />
</rich:pickList>
</div>
</h:panelGroup>
保存按钮代码为:
<a:commandLink styleClass="btn green-btn save-btn fr" onclick="updateLOB(#{asset.selectedDistTypes})" reRender="updateLOBPanel"
oncomplete="Richfaces.hideModalPanel('updateLOBPanel');document.getElementById('lobMasterCheckBox').checked=false;"
ajaxSingle="true" style="margin: 10px; align:right;" >
<span> Save </span>
</a:commandLink>
Javascript方法是:
function updateLOB(selectedDistTypes){
alert(selectedDistTypes);
var idList = jQuery("#assetSearchResults").jqGrid('getDataIDs');
var idListToUpdateLOB = idList.join(",");
if(idListToUpdateLOB.length >0){
updateLOBOfAssets(idListToUpdateLOB);
}
}
Js功能:
<a:jsFunction name="updateLOBOfAssets" oncomplete="gridReload();"
action="#{assetManager.updateLOB()}" ajaxSingle="true">
<a:actionparam name="param1" assignTo="#{assetManager.idList}" />
</a:jsFunction>
selectedDistTypes为null。你能帮我正确发送参数吗?
当页面被呈现时,所有EL表达式都被解析。这意味着您的commandButton设置为onclick="updateLOB([])"
,因为在呈现按钮时列表为空。
有几种方法可以做您想做的事情,但我不知道您对updateLOBOfAssets
函数中的ID做了什么。最简单的方法可能是从bean中检索ID,而不是用JavaScript传递它们。
这有帮助吗?
onclick="updateLOB('#{asset.selectedDistTypes}')"
看起来你没有引用价值。
相关文章:
- 如何在router.get()方法中传递url作为参数
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 如何在扩展jQuery方法时传递参数
- 使构造函数参数具有ES6类方法的特权
- 如何将javascript变量作为参数提供给asp.net方法
- 如何确保函数/方法参数为certian类型
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 如何使用JavaScript's”;应用“;方法,在数组之前添加一个额外的参数
- 在嵌套递归指令中将参数传递给父控制器方法
- 理解日期对象接收参数时的getDay()方法
- sinon.js验证mock方法's带回调的参数
- 在带有参数列表的表单submit上调用一个方法
- 什么's是调用具有可变参数的函数的有效方法
- 为什么参数对象没有在控制台中显示它的方法
- 将参数传递到外部 JS 脚本的最佳方法
- 我怎么能读“;.on()"jQuery中的方法参数
- 在coffeescript中链接jquery方法和参数
- 如何在从排序方法调用参数时将其传递给回调
- 使用表单和POST方法通过Javascript获取URL参数
- PageMethods调用使用1参数成功,但在2上失败(未知web方法)