2011-10-12 57 views
0

我有一个通用的函数来清除文本框并选中了单选按钮。在代码如何使用Onchange函数在jsf标签中创建数组?

<h:inputText value="#{termPurchaseUIBean.effectiveRate}" styleClass="textInput" id="effectiveRateText" onchange="initData2('termPurchase:selectRate:1',new Array()['termPurchase:effectiveRateText']);" label="#{label.TermPurchase_EffectiveRate}"> 

`

以下是该功能

function initData(checkId,data) { 
    alert(checkId); 
    var i; 
    for (i = 0; i < data.length; i++) { 
    alert(data); 
    document.getElementById(data).value = ""; 
    } 
    document.getElementById(checkId).checked = true; 
    alert('done'); 
} 

现在我需要建立在使用平变化function.The以下JSF标签阵列中的代码,但这个代码不工作。在这种情况下,你们中的任何一个人能帮助我创建一个数组吗?

回答

0

循环内的document.getElementById()调用不正确。您想要将当前数组项目data[i]作为ID传递,而不是整个data数组。

document.getElementById(data[i]).value = ""; 

数组创建不正确。删除new Array()。它已经隐含地用[]完成。

onchange="initData2('termPurchase:selectRate:1', ['termPurchase:effectiveRateText']);" 
+0

我已经试过,也BalusC。以下代码是item = data [i]; \t \t \t \t \t \t document.getElementById(item).value =“”; –

+0

在Onchange事件中,数组创建是否正确BalusC.Because处于警报状态,没有获取数据的值,并且正在获取警报中的checkId值 –

+0

非常好,这比“不起作用”更有用的信息!你如何创建阵列的方式确实是错误的。我更新了答案。 – BalusC

相关问题