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_1を持つ要素を取得することです。input

2番目のエラーはtmpThing = "Lower bound"、要素のinnerTextを変更しないことです。たとえば、次のことを行う必要があります(ただし、タグdocument.getElementById('cfr_1_label').innerText = "Lower bound"にIDを追加する必要があります)cfr_1_labellabel

于 2013-02-11T22:17:05.473 に答える