php - JQuery:从数据库加载数据并将其插入以选择

标签 php jquery mysql

我有三个选择,如下所示:

<select name="nick">
<?php foreach ($chars as $char):?>
<option value='<?php echo $char['name'] ?>'><?php echo $char['name'] ?></option>
<?php endforeach; ?>
</select>
<select name='faction' disabled>
<option value='ally'>Alliance</option>
<option value='horde'>Horde</option>
</select>
<select name='class' id="class" disabled>
<option value='1'>Warrior</option>
<option value='2'>Paladin</option>
<option value='3'>Hunter</option>
<option value='4'>Rogue</option>
<option value='5'>Priest</option>
<option value='6'>Death Knight</option>
<option value='7'>Shaman</option>
<option value='8'>Mage</option>
<option value='9'>Warlock</option>
<option value='10'>Druid</option>
</select>

$字符:

$chars = array(0 => array("name" => "Solock",
                          "level" => "80",
                          "class" => "9"),
               1 => array("name" => "Emmorts",
                          "level" => "80",
                          "class" => "3"),
               2 => array("name" => "Ghom",
                          "level" => "80",
                          "class" => "2"),
);
$json = json_encode($chars);

JSON 数组:

[
{"name":"Solock","level":"80","class":"9"},
{"name":"Emmorts","level":"80","class":"3"},
{"name":"Ghom","level":"80","class":"2"}
]

JSON 对象:

{
"0":{"name":"Solock","level":"80","class":"9"},
"1":{"name":"Emmorts","level":"80","class":"3"},
"2":{"name":"Ghom","level":"80","class":"2"}
}

是否有可能,每次我更改 [name=nick] 选项时,其他选择都会选择 JSON 对象或数组中的数据(如果我选择“Ghom”,它会选择联盟和死亡骑士)?怎么办?

谢谢。

最佳答案

首先 - 在服务器上并根据数据库条目 - 创建一个 JSON 字符串:

{
    "Solock": ["ally", "9"],
    "Emmorts": ["ally", "3"],
    "Ghom": ["ally", "6"]
}

接下来,在客户端上将该 JSON 字符串加载到 JavaScript 对象中。现在,您可以使用 jQuery 和该对象:

var $selectNick = $('select[name=nick]'),
    $selectFaction = $('select[name=faction]'),
    $selectClass = $('select[name=class]');

$selectNick.change(function() {
    var value = this.value;
    $selectFaction.val( json[value][0] );
    $selectClass.val( json[value][1] );
});

(此处,json 变量是从 JSON 字符串创建的对象。)

工作演示: http://jsfiddle.net/tgeVh/

关于php - JQuery:从数据库加载数据并将其插入以选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579570/

相关文章:

php - 这可能吗?从 PDF 到可编辑表格

php - 如何编写直方图、饼图等的代码?

php - 在 php 中对 Array 或 DB 执行大型查询?

jquery - 两个不同的广告位置取决于内容高度

javascript - 仅克隆一个字段并每次点击追加一次

php - 在 Laravel 中将生成的 pdf 附加到邮件中

javascript - 无法用 jQuery 覆盖 CSS 属性,我的代码有什么问题?

php - 如何重写这个查询

mysql - 为什么这个 MySQL 日期转换返回 NULL?

mysql - 最后一个条目 SQL 的 UPDATE 字段