我有这个变量:
var zvmlist = {
'Huishoudelijke hulp': 'Huishoudelijke hulp',
'Verpleging thuis': 'Verpleging thuis',
'Verzorging thuis': 'Verzorging thuis',
'24 uurs zorg': '24 uurs zorg',
'Ondersteunende begeleiding': 'Ondersteunende begeleiding',
};
在函数中使用此var
来创建下拉列表:
$.each(zvmlist, function(key, value) {
var selected='';
if(key==eventdata.title){var selected='selected' }
$('<option value="'+key+'" '+selected+'>'+value+'</option>').appendTo($('#calendar_edit_entry_form_title'));
});
就像魅力一样。
现在我创建了一个从MySQL表中获取列表的函数:
$.get('get_zorgvormen.php', function(data) {
var zvmlist = '{'+data+'}';
//alert(zvmlist);
});
当我启用提醒功能时,它会显示var(array)
。
但我不会充当变数。
如何将此数据传递给我的.each
函数?
(你可以在这里看到它:http://www.zorgzuster-zeeland.nl/site/static/calendar_test.php。)
$.each(zvmlist, function(key, value) {
var selected='';
if(key==eventdata.title){var selected='selected' }
$('<option value="'+key+'" '+selected+'>'+value+'</option>').appendTo($('#calendar_edit_entry_form_title'));
});
当var zvmlist =当前
时var zvmlist = {
'Huishoudelijke hulp': 'Huishoudelijke hulp',
'Verpleging thuis': 'Verpleging thuis',
'Verzorging thuis': 'Verzorging thuis',
'24 uurs zorg': '24 uurs zorg',
'Ondersteunende begeleiding': 'Ondersteunende begeleiding',
};
但我希望通过以下方式填充:
$.get('get_zorgvormen.php', function(data) {
//data = {"key":"value"};
var obj = {};
obj[0] = data;
var zvmlist = '{'+obj[0]+'}';
alert(zvmlist);
});
当我删除静态var时,应用程序会中断,并且不会填充下拉列表
我合并了两个函数,它有点工作,但是,下拉列表中填充了var中的每个字母。
像
<option value="1">1</option>
<option value="2">'</option>
<option value="3"> </option>
<option value="4">:</option>
<option value="5"> </option>
<option value="6">'</option>
<option value="7">H</option>
<option value="8">u</option>
等等
$.get('get_zorgvormen.php', function(data) {
//data = {"key":"value"};
var obj = {};
obj[0] = data;
var zvmlist = obj[0];
$.each(zvmlist, function(key, value) {
var selected='';
if(key==eventdata.title){var selected='selected' }
$('<option value="'+key+'" '+selected+'>'+value+'</option>').appendTo($('#calendar_edit_entry_form_title'));
});
});
任何帮助都会受到欢迎
答案 0 :(得分:0)
而不是
var zvmlist = '{'+data+'}';
尝试
var zvmlist = Eval('{' + data + '}');
善,
丹
答案 1 :(得分:0)
我认为你必须评估该字符串,以便它变得有用。尝试:
var zvmlist = eval('{'+data+'}');
答案 2 :(得分:0)
您可以使用eval()函数解析JSON数据。
$.get('get_zorgvormen.php', function(data) {
return eval('({' + data + '})');
});
答案 3 :(得分:0)
不使用eval,您可以先创建一个对象文字,然后将其传递给zvmlist。
$.get('get_zorgvormen.php', function(data) {
//data = {"key":"value"};
var obj = {};
obj[0] = data;
var zvmlist = obj[0];
alert(zvmlist);
});
没有经过测试,但有类似的事情。