作者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/m.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