我有一个国家/地区列表,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代码中的错误。 谢谢
答案 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
本身添加一个事件处理程序。更改选择时,更改处理程序将触发。我猜这是你想要的结果。