0

ドロップダウン メニューと入力ボックスの次のコードがあります。

<select id="ci_binfo_affiliation_type" style="" onblur="updateptcname()" onchange="changecolor()" name="ci_binfo_affiliation_type" class="styled">
  <option <? if ($ci_binfo_affiliation_type == "") echo 'selected'; ?> value="">Select</option>
   <option <? if ($ci_binfo_affiliation_type == "work") echo 'selected'; ?> value="work">work</option>
  <option <? if ($ci_binfo_affiliation_type == "Other") echo 'selected'; ?> value="Other">Other</option>
</select>
<label class="formlbl" for="name_aftd">Name of (affiliation)</label>
<div class="formbitem">
      <input id="ci_binfo_affiliation_name" type="text" onchange="updateptcname()" name="ci_binfo_affiliation_name" value="<?=$ci_binfo_affiliation_name?>" class="inputtext2" />
    </div>

私がしたいことは、ユーザーがドロップダウンメニューで「学校」を選択した場合、「(所属)の名前」ラベルを「学校の名前」に変更する必要があることです。

誰でも私を助けることができますか、どうすればこれを行うことができますか...

4

2 に答える 2

2

jsfiddle のこの例を参照してください。要素の変更イベントに関数をバインドしますselect。この関数は、(id: )span内の新しい要素を取得し、そのテキスト コンテンツを selected の値に設定します。labelaffiliation-placeholderoption

他のイベント リスナーをクリーンアップすることもできます (私の例でchangecolorは which がスローさis not definedれます)。推奨される方法は、HTML にインラインではなく、JavaScript コードからリスナーをバインドすることです。

document.getElementById("ci_binfo_affiliation_type")
    .addEventListener("change",function(){
        document.getElementById("affiliation-placeholder").textContent = this.value;
})

jQuery 1.7 を使用します (これも新しくspan追加しましたが、必要に応じて簡単に適応できます):

$("#ci_binfo_affiliation_type").on("change", function(){
    $("#affiliation-placeholder").text($(this).val());       
});
于 2012-07-26T20:08:40.890 に答える
1

これはあなたが探しているものですか?

$("#ci_binfo_affiliation_type").change(function() {
    $("label[for='name_aftd']").text("Name of " + $(this).val());
});
于 2012-07-26T19:56:15.867 に答える