【问题标题】:How to create an array in jsf tags using Onchange function?如何使用 Onchange 函数在 jsf 标签中创建数组?
【发布时间】:2011-10-12 08:54:48
【问题描述】:

我有一个通用函数来清除文本框并选中单选按钮。以下是该函数的代码

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');
}

现在我需要使用 Onchange 函数在 jsf 标签中创建一个数组。以下是代码

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

`

但是这段代码不起作用。你们谁能帮我在这种情况下创建一个数组。

【问题讨论】:

    标签: javascript jsf


    【解决方案1】:

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

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

    数组创建不正确。删除new Array()。它已经通过[] 隐式完成。

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

    【讨论】:

    • 我也试过 BalusC。下面的代码是 item = data[i]; document.getElementById(item).value = "";
    • 在 Onchange 事件中,数组创建是否正确 BalusC。因为在警报中我没有获得数据的值,而在警报中获得了 checkId 的值
    • 很好,这比“它不起作用”更有帮助!您创建数组的方式确实是错误的。我更新了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2015-10-04
    • 2012-05-29
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2017-01-18
    相关资源
    最近更新 更多