javascript - 采用不同的值来填充下拉列表

标签 javascript php jquery json

   { "Result": { "tags": [ { "name": "ABC", "email": "abc1@example.com", "sms": 123 }, { 
"name": "ABC", "email": "abc2@example.com", "sms": 456 }, { "name": "ABC", "email": 
"abc3@example.com", "sms": 789 }, { "name": "XYZ", "email": "xyz1@example.com", "sms": 976 
}, { "name": "ABC", "email": "xyz2@example.com", "sms": 543 } ] } }

我有这样的 JSON 数据。我想用 PHP 或 Javascript 解析此 JSON,以将它们填充到三个下拉菜单中。

姓名 |电子邮件 |短信

但我需要在下拉列表中填充不同的名称,并根据选择的名称填充电子邮件和短信。

到目前为止,我刚刚创建了下拉菜单。

fiddle 链接:http://jsfiddle.net/CAB2z/

示例:

名称应包含:ABC | XYZ 仅一次(不同:不应重复相同的值)。 当我们选择 ABC 时,JSON 中“ABC”的三个电子邮件和电话号码应填充在第二个和第三个下拉列表中。

最佳答案

试试这个,

$(function(){
    var json = {
        "Result": {
            "tags": [{"name": "ABC","email": "abc1@example.com","sms": 123},
            {"name": "ABC","email": "abc2@example.com","sms": 456},
            {"name": "ABC","email":"abc3@example.com","sms": 789},
            {"name": "XYZ","email": "xyz1@example.com","sms": 976},
            {"name": "XYZ","email": "xyz2@example.com","sms": 543}]
         }
    };

    var name = [],obj = {};
    $(json.Result.tags).each(function (k, v) {
        name[k] = (v.name);
        obj[k] = {name: v.name,email: v.email,sms: v.sms};
    });
    $($.unique(name)).each(function (i, v) {
        $('#name').append('<option value="'+v+'">'+v+'</option>');
    });
    $('#name').on('change', function () {
       var $that = $(this);
       $('#email').html('');$('#sms').html('');
       $.each(obj,function (i, v) {
          if( $that.val() == v.name) {
             $('#email').append('<option value="'+v.email+'">'+v.email+'</option>');
             $('#sms').append('<option value="'+v.sms+'">'+v.sms+'</option>');
          }
       });
    }).change();
});

Live Demo

关于javascript - 采用不同的值来填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22523242/

相关文章:

javascript - 通过 iframe 进行响应式设计

jquery - JavaScript 错误 : 'moment' is undefined in Full Calendar Jquery plugin

javascript - jquery - 如果字段有焦点则执行事件

javascript - YUI - 优点和缺点

javascript - 使用复选框 mysql 和 php 或 javascript 隐藏列表中的值

php - 在Mysql中选择最近添加到数据库中的记录

php - 逐个加载 XML,以节省 PHP 内存

Javascript - 将 this 参数绑定(bind)到 Promise

javascript - 如何使用 JavaScript 将单击的列表项存储在 session 中?

javascript - 从 div 元素获取 id 并将其显示为警报