Javascript 基于select值检索json数据
我有一个json数据,格式如下Javascript 基于select值检索json数据,javascript,jquery,Javascript,Jquery,我有一个json数据,格式如下 {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]} 我有一个select标签,如果从选择框中选择的值等于“Jack”,那么它应该打印数据my1@email.com“,“美国” 更改功能上的选择框为 function printDataOf(val){ now if selectd value is Jack alert() // shoul
{"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}
我有一个select标签,如果从选择框中选择的值等于“Jack
”,那么它应该打印数据my1@email.com“,“美国”
更改功能上的选择框为
function printDataOf(val){
now if selectd value is Jack
alert() // should alert my1@email.com
alert() // should alert US
我该怎么做?这应该行得通
function check( json_obj )
{
return json_obj[0] == 'Jack'
}
如果您使用的是jquery,也可以尝试以下方法:
json_obj = jQuery.parseJSON( json_obj.responseText );
要检查您真正得到了什么,请使用firebug的调试器尝试一下,用实际对象更改
json
:
function printDataOf(val)
{
for (name in json)
{
if (name == val)
{
alert(json.name[0]);
alert(json.name[1]);
}
}
}
onchange函数将无法接收实际值。不过,您可以传递选择对象(作为“this”) 检查json对象中是否存在Mval是明智的。如果没有,您将收到一个错误。我这么做不是为了简单
这是一份工作报告。这应该能满足您的需要
var result = {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]};
function printDataOf(val){
var data = JSON.parse(result);
var selected = data[val];
var selected_arr = selected.split(',');
//now if selectd value is Jack
alert(selected_arr[0]) // should alert my1@email.com
alert(selected_arr[1]) // should alert US
}
应该这样做
printDataOf('Jack');
function printDataOf(val) {
var data = '{"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}';
var match = JSON.parse(data)[val];
var email = match[0];
var country = match[1];
alert(email);
alert(country);
}
循环Json数据,然后比较并打印。使用jquery
var data = {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}
var selecteVal="Jack";
$.each(data,function(key,index){
if (key==selecteVal){
alert(data[key][0])
alert(data[key][1])
}
});
请参见试试这个
var data = {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}
var selecteVal="Jack";
if(typeof(data[selecteVal])!='undefined'){
alert(data[selecteVal][0]);//my1@email.com
alert(data[selecteVal][1]);//US
}
警报(数据[val][0])
@thg435不起作用:(用你的JSON数组调用的任何东西替换“数据”。@thg435我犯了一个愚蠢的错误,在这样做的时候我把它写成了警报(JSON_obj[Jack][0])
而不是警报(JSON_obj[“Jack][0])
。你说得对。你不需要运行循环
printDataOf('Jack');
function printDataOf(val) {
var data = '{"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}';
var match = JSON.parse(data)[val];
var email = match[0];
var country = match[1];
alert(email);
alert(country);
}
var data = {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}
var selecteVal="Jack";
$.each(data,function(key,index){
if (key==selecteVal){
alert(data[key][0])
alert(data[key][1])
}
});
var data = {"Jack":["my1@email.com","US"],"Rob":["rob@email.com","UK"]}
var selecteVal="Jack";
if(typeof(data[selecteVal])!='undefined'){
alert(data[selecteVal][0]);//my1@email.com
alert(data[selecteVal][1]);//US
}