使用 javascript 和 JSON 变得沮丧和肮脏。我想在 JSON 数组中存储一些 html 值,以便在需要时调用它们(通常来自一些 jquery 事件侦听器)
这优于不断使用 $.ajax 进行客户端到服务器调用。
所以,我有一个<select>
数据库填充选项:
<select name="emailmsgid" id="emailmsgid">
<option value="0">------select a template-------</option>
<?php
$q = mysql_query("SELECT emailmsgid,emailmsgsubject,emailmsg_html FROM tbl_email_templates");
while ($r = mysql_fetch_array($q)){
$emailmsgid = $r['emailmsgid']; // int
$emailmsgsubject= $r['emailmsgsubject']; // short desc
$emailmsg_html = $r['emailmsg_html']; // usually html with images (save to json, somehow)
?>
<option value="<?=$emailmsgid;?>"><?=$emailmsgsubject;?></option>
<? } ?>
</select>
<br>
<textarea name="selectedmsg" id="selectedmsg"></textarea>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
// populate the textarea above
$("#emailmsgid").change(function(){
var selectedID = $(this).val();
/* how to look into json here with selectedID */
$("#selectedmsg").val("whatever the json has saved for that emailmsgid");
});
});
</script>
这就是上面所缺少的。
- 创建 json 字符串,(从 php/mysql while 语句内部),所以下面的 jquery 可以引用 json,匹配selectedID
json 中的内容?
我承认我是 JSON 新手,这对我来说是学习如何使用它以及从 jquery 调用名称/值对的好方法。
我希望保存内部 json,然后在我选择它时emailmsg_html
将其加载到选择输入中。textarea
emailmsgid
(我基本上正在努力消除我的代码需要调用服务器的任何时间,似乎这是最好的路线)