Ajax请求返回带有选择列表id="country"
Ar主要的Js文件有事件点击,我尝试获取值我的dinamic创建选择列表并获得警报: undefined
var country = $('#country option:selected').val();
怎么可能获得价值?
答案 0 :(得分:2)
假设你没有添加这个'选择'列表到网页,执行以下操作:
... // inside the event click handler, do this:
$.ajax("[*some url goes here*]")
.done(function(response){ // response will look like "<select id='country'> ... </select>"
// Dynamically create a select element in memory
var select = $(response);
// Find the selected option in the select
var chosenOption = $(select).find('option:selected');
var value = null;
// Null check, incase no option was checked and the chosenOption variable is null
if (chosenOption != null) {
value = $(chosenOption).val();
}
});
...
答案 1 :(得分:0)
如果事件在AJAX结束之前被绑定,那么$('#country option:selected')
将找不到该元素,因为在绑定时该元素尚不存在。如果您在body
标记中查找,请使用.find
来解决您的问题:
$('body').find('#country').find('option:selected').val()
此外,使用#country option:selected
会导致浏览器首先查找所有选定的选项,然后在#country
内查找该选项。因此,使用(#country).find('option:selected')
通常会更快,因为它首先找到#country
。
希望这是你正在寻找的答案。