作者bill0205 (善良的小孩没人爱)
看板Ajax
标题[问题] jquery对於select下拉是选单预设动作
时间Sat Nov 19 12:31:47 2016
小弟这几个月才开始写jquery
但是碰到一个问题
我html上面有三个select
<select id="a"></select>
<select id="b"></select>
<select id="c"></select>
里面的option全由jquery产生
第一个会连动第二个
第二个会连动第三个
单纯连动的话 是没问题
第一个直接给他数个option
然後再用.change(funciton(){...});方式连动第二第三个select
到这边我还可以
问题在於 假使我要给这三个select预设值
例如 第一个给1 第二个给3 第五个给5
我却想不到怎麽给定预设值
不知道各位
当select中的option全由jqeury产生
且都连动的
该如何给定预设值呢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.172.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1479529910.A.AB4.html
1F:→ Hevak: 把要设成预设的option加上selected属性 11/19 13:22
2F:→ Hevak: <option value="xxx" selected></option>之类的 11/19 13:23
原本想法也是指定select底下的option的value值设为selected 但是没办法QQ
3F:→ xdraculax: 写个选取的 function set_select 在网页开启时 set_sel 11/19 13:47
4F:→ xdraculax: ect(1,3,5), 也可以把预设值写在 select data-default= 11/19 13:47
5F:→ xdraculax: "1" 再 set_select($('#a').data('default'),...) 11/19 13:47
6F:→ xdraculax: $('#a').val(param1).change(); $('#b').val(... 11/19 13:50
感谢 刚刚成功了
但是我把function都写在一起
就变成原本function後面再加上
if(DefaultData != null && DefaultData.length > 0) {
$(aID).val(DefaultData.split(',')[0]).change();
$(bID).val(DefaultData.split(',')[1]).change();
$(cID).val(DefaultData.split(',')[2]).change();
}
※ 编辑: bill0205 (1.160.172.141), 11/19/2016 19:30:42
7F:推 shadowjohn: 就经验来说,尽量还是不要trigger event 11/19 19:55
8F:→ shadowjohn: 直接提到function层比较好 11/19 19:56
9F:→ shadowjohn: 试的浏览器够多就会发现这样写有些微风险 11/19 19:56
10F:→ bill0205: 谢谢建议 我在想看看怎麽写比较好XD 11/20 19:49
11F:→ xdraculax: 怕冲突一般做法给自订 event 挂个 namespace 就好了 11/21 08:23
12F:→ xdraculax: 看 jQuery 官网 trigger() 11/21 08:24
13F:→ xdraculax: trigger 没有教 namespace @@ 看 on() 11/22 10:35