Javascript:从列表中选择选项并将其粘贴到标签标签上

时间:2010-08-12 20:50:49

标签: javascript jquery select html label

我有一个国家/地区列表,html,它们有数字ID和国家/地区名称:

例如:

<select name="userDto.nationality" id="userDto.nationality">
            <option value="">Seleccione</option>
                <option value="1">Alemania</option>
                <option selected="selected" value="2">Argentina</option>
                <option value="8">Australia</option>
                <option value="9">Austria</option>
                <option value="10">Bélgica</option>
                <option value="11">Bolivia</option>
</select>

我尝试使用jquery脚本来获取列表的国家/地区,而不是值,名称并将其粘贴到标签内。

$(document).ready(function() {      
    $("#userDto\\.nationality option:selected").click(function() { $("#nationalityLabel").html(this.value); });

});

应该获得国家/地区名称的HTML是:

<div name="userLabelDiv" id="nationalityUserLabelDiv">
    <label class="required">Nacionalidad :</label>
    <label id="nationalityLabel"></label> 
</div>

有人可以指导我完成这个问题吗?我无法找到JS代码中的错误。 谢谢

1 个答案:

答案 0 :(得分:2)

两件小事:

  • $("#userDto\\.nationality option:selected")更改选择器 到$("#userDto\\.nationality")

  • 将事件处理程序从click更改为change

完成。

$(document).ready(function() {      
   $("#userDto\\.nationality").change(function() { 
      $("#nationalityLabel").html(this.value);
   });
});

为什么:

您当前的代码可以使用,但仅适用于“Argentinia”,因为它默认为selected。使用选择器option:selected,您只将事件处理程序绑定到选定的选项元素,即Argentinia。

因此您需要向select element本身添加一个事件处理程序。更改选择时,更改处理程序将触发。我猜这是你想要的结果。