1

我正在尝试根据下拉列表中的选择更新输入字段上的文本标签。

下面的字段标签默认为“平均值”。如果选择了选项 2,我希望将其替换为“下限”。

<simpleLabel for="distLabel">Prior distribution, <i>CFR</i>:</label>
<select id="priorCFRDistType" onchange='changePriorDistType();'>
<option value="1">beta</option>
<option value="2">uniform</option>
</select>
<p>
<simpleLabel for="cfr_1">Mean:</label>
<input id="cfr_1" type="text" value ="0.05" />

在我的.js文件中,我有changePriorDistType(). 它目前在引擎盖下做了很多事情。如何让它更新文本字段?这是我迄今为止尝试过的:

function changePriorDistType() {
    menuItem = document.getElementById("priorCFRDistType");
    priorCFRDistType = menuItem.options[menuItem.selectedIndex].value;
    if ( priorCFRDistType == 2 ) {
       var tmpThing = document.getElementById("cfr_1").innerText;
       tmpThing = "Lower bound";
    }
}

这行不通。我显然是 Javascript 和 HTML 的新手,所以没有什么太明显可以指出的。谢谢。

4

1 回答 1

1

第一个错误(除了不匹配的标签)是getElementById("cfr_1")你得到的元素 idcfr_1input元素而不是标签。

第二个错误是,tmpThing = "Lower bound"您不会更改元素的 innerText 。你需要做例如document.getElementById('cfr_1_label').innerText = "Lower bound"(但这需要你将 id 添加cfr_1_labellabel标签中)

于 2013-02-11T22:17:05.473 回答