我想要在全局变量中获取动态填充的选择列表的值。这是我如何获得并填写选择列表:如何获取全局变量中动态选择列表的值?
我dropdown.js脚本:
$(document).ready(function() {
$("#slctTable").change(function()
{
$.getJSON("dropdown_code/get_fields.php?table=" + $(this).val(), success = function(data)
{
var options = "";
for(var i = 0; i < data.length; i++)
{
options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
}
$("#slctField").html("");
$("#slctField").append(options);
$("#slctField").change();
});
});
});
所以在此之后我tryed这个代码在我main.js scgript获得选择列表的值:
$('#slctField > option').each(function(){
console.log(this.value); // Use this.value to get the value of the option
});
var options = [];
$('#slctField > option').each(function(){
options.push(this.value);
});
console.log(options);
但是当我复制并粘贴在Firebug的代码并运行它。我得到了我想要的结果。因此,当我尝试获取值时,我认为选择列表尚未填充。但是我长期坚持这一点,我不知道现在该做什么。
你非常正确!你的GET是异步的,在你的main.js代码完成执行后很可能会很长时间。您需要确保您对全局变量的修改以某种方式与您的回调绑定,以保证后续运行。 –
是的,这就是我的想法。但是,我怎样才能将回调绑定到全局变量? –
我用2个例子发布了一个答案。 –