作者starlit357 (OLAF)
看板Ajax
标题[问题] JQuery嵌入json档,并预设资料?
时间Tue Oct 11 11:56:10 2016
大家好!
因一些需求,使用以下资源来让网页可以顺利选择中国行政区域(地址)。
https://goo.gl/Qt7N9z
地址的 json 档案主要包含 {"text":"北京市", "id":"110000"} 等这类资讯。
小弟後来也将 "北京市" 和 "110000" 顺利存入资料库,并能正常取出。
不过当使用者在更新资讯页面时,没办法将资料库的地址资料正确显示。
简单来说,就是我想把 <select> 里面的 <option> 预设为资料库内容;但不管怎麽试,
都
以下附上程式码:
<html> 部分
<div id="CN_addr">
<select name="sel_province" id="sel_province" class="sloc" onChange="$('inpu
t[
<select name="sel_city" id="sel_city" class="sloc" onChange="$('input[name=c
n_
<select name="sel_district" id="sel_district" class="sloc" onChange="$('inpu
t[
<input type="hidden" name="cn_province" value=""/>
<input type="hidden" name="cn_city" value=""/>
<input type="hidden" name="cn_district" value=""/>
<input type="text" name="address" value="{address}">
</div>
<script> 部分
$(".sloc").LocationSelect({
dataUrl: "areas_1.0.json",
name: "addr",
detectGeoLocation: false,
labels:["请选择省分或直辖市", "请选择城市", "请选择区"]
});
目前试过:
(1)
$('select[name=sel_province]').val('{cn_province}');
(2)
$("
#sel_province option[value={province}]").attr("selected",true);
var i = null;
var obj = document.getElementById("sel_province");
for (i=0; i<obj.options.length; i++) {
if (obj.options[i].value == cnAddr[0]) {
obj.selectedIndex = i;
return;
}
}
还有其他类似的逻辑,但都无法成功。
也因为网页没有 <option> 这个标签,所以无法使用 this.selectedindex 等 function
。
希望有想法的板友们可以告诉我解决方法或方向,让我能掌握大概的脉络去解决!
先感谢各位! (鞠躬)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.34.13
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1476158176.A.C29.html
1F:推 crossdunk: 用append去增加option10/12 20:54
2F:→ crossdunk: 我是没仔细看你的文章 但应该差不多就这样10/12 20:54
3F:→ crossdunk: 捞资料回来清空option然後用append去增加option10/12 20:54
==========
了解,虽然最後问题不太是用此方法解决,但还是谢谢!
※ 编辑: starlit357 (115.82.49.99), 03/05/2017 19:18:14