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中抛出一个)。is not defined首选方法是从 JavaScript 代码绑定侦听器,而不是在 HTML 中内联。

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 回答