Javascript:从列表中获取选定的选项并将其粘贴到标签标记上
我有一个国家/地区列表,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代码中的错误在哪里。 谢谢
I have a list of countries, html, they have numeric ids and country name:
Ex:
<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>
Im trying to use a jquery script to get the country of the list, not the value, the name and paste it inside of a label.
$(document).ready(function() {
$("#userDto\\.nationality option:selected").click(function() { $("#nationalityLabel").html(this.value); });
});
And the HTML that should get the country name is:
<div name="userLabelDiv" id="nationalityUserLabelDiv">
<label class="required">Nacionalidad :</label>
<label id="nationalityLabel"></label>
</div>
Could someone guide me through the problem? I cant find where is my error in the JS code.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两件小事:
从
$("#userDto\\.nationality option:selected") 更改选择器
到
$("#userDto\\.nationality")
将事件处理程序从
click
更改为change
完成。
原因:
您当前的代码可以工作,但仅适用于“阿根廷”,因为默认情况下它是
选择的
。使用选择器option:selected
,您将事件处理程序仅绑定到选定的选项元素,即 Argentinia。因此,您需要向
select 元素
本身添加一个事件处理程序。每当您更改选择时,更改处理程序就会触发。我想这就是你想要的结果。Two little things:
change selector from
$("#userDto\\.nationality option:selected")
to
$("#userDto\\.nationality")
change event handler from
click
tochange
Done.
Why:
Your current code would have worked, but only for "Argentinia" since it is
selected
by default. With your selectoroption:selected
you bound the event handler only to selected option elements, which is, Argentinia.So you need to add an event handler to the
select element
itself. The change handler fires whenever you change the selection. I guess that is your desired result.