Board logo

標題: [操作疑難] select2 Ajax selected [打印本頁]

作者: carlkyo    時間: 2018-5-25 12:31     標題: select2 Ajax selected

https://select2.org/data-sources/ajax
var option = new Option(data_text, data_id, true, true);
$('select').append(option).trigger('change');

請問各位ching
select2 ajax  除左上面種方法去設selected
可唔可以齋用val去set??
同時要val& option好麻煩~"~
many thanks
作者: 清仔    時間: 2018-5-30 00:17

唔係好明你問題
作者: carlkyo    時間: 2018-5-31 17:31

唔係好明你問題
清仔 發表於 2018-5-30 00:17


https://jsfiddle.net/rLmztr2d/1365/

select2用remote data可唔可以好似上面咁set val就得? many thanks

我依家要咁先做到,好麻煩????
var option = new Option(data_text, data_id, true, true);
$('select').append(option).trigger('change');
作者: Ferrari2010    時間: 2018-5-31 20:49

select2用remote data可唔可以好似上面咁set val就得? many thanks

我依家要咁先做到,好麻煩????
var ...
carlkyo 發表於 2018-5-31 17:31


https://select2.org/data-sources/arrays
作者: 清仔    時間: 2018-6-1 02:03

select2用remote data可唔可以好似上面咁set val就得? many thanks

我依家要咁先做到,好麻煩????
var ...
carlkyo 發表於 2018-5-31 05:31 PM


你想做到個dropdown preselect左?
都仲係唔係好明你想做到d咩
作者: carlkyo    時間: 2018-6-2 13:57

本帖最後由 carlkyo 於 2018-6-2 14:06 編輯
你想做到個dropdown preselect左?
都仲係唔係好明你想做到d咩
清仔 發表於 2018-6-1 02:03


嗯dropdown preselect
我又試左一堆都唔得
唔係ajax source就可以
https://jsfiddle.net/7srqrxxu/204/
  1. //$('select').val('Yogesh').trigger('change');
  2.                         //$('select').val(1);
  3.                         //$('select').val('1').trigger('change');
  4.                         //$("select").select2("val", ["Yogesh"]);
  5.                         //$('select#User').val(1).select2();
  6.                         //$('select#User').val(1).trigger('change');
  7.                         //var ident = '3';
  8.                         //$('select option[value="' + ident +'"]').prop("selected", true);
  9.                         //$('select').val('1').trigger('change.select2');
複製代碼
係ajax source下面既先做到preselect
  1. var option = new Option('Yogesh', 1, true, true);
  2.                         $('select').append(option).trigger('change')
複製代碼
有冇簡單D直接set val就可以
many thanks
作者: 清仔    時間: 2018-6-2 22:04

首先我覺得你要明個code係做緊咩

var option = new Option('Yogesh', 1, true, true); //Create一個option既element,preselected
你console.log(option ); 會得到:<option value="1" selected="">Yogesh</option>
係create個element果時…佢already select左…

$('select').append(option).trigger('change');
就係話append 黎個option element 去個dropdown果度
再trigger等佢rerender一次

其實你照用.val() 都係可以work
但前題係個option element already加左入去個dropdown裡頭

再正常d黎講….append(option) 其實唔算係AJAX.,係叫Dynamic option creation
你再參考下黎度:https://select2.org/tagging
作者: carlkyo    時間: 2018-6-4 11:45

本帖最後由 carlkyo 於 2018-6-4 12:01 編輯
首先我覺得你要明個code係做緊咩

var option = new Option('Yogesh', 1, true, true); //Create一個option ...
清仔 發表於 2018-6-2 22:04



    many many many many thanks ching
我唔想preselect時同時用到value & option
想好似平時咁唔理option係麥
直接set value
不過唔知點解ajax post出來既option一定同時要有value & option先set到
  1.     var option = new Option('Yogesh', 1, true, true);
  2.                            
複製代碼

作者: 清仔    時間: 2018-6-4 23:38

回覆 8# carlkyo

不如你貼埋Ajax個code出黎…
作者: carlkyo    時間: 2018-6-5 08:30

本帖最後由 carlkyo 於 2018-6-5 08:37 編輯

回覆 9# 清仔
many thanks
  1. $("#select2").select2({
  2.   ajax: {
  3.    url: "data.php",
  4.    type: "post",
  5.    dataType: 'json',
  6.    delay: 250,
  7.    data: function (params) {
  8.     return {
  9.       searchTerm: params.term
  10.     };
  11.    },
  12.    processResults: function (res) {
  13.      return {
  14.         results: res
  15.      };
  16.    },
  17.    cache: true
  18.   }
  19. });
複製代碼
試左好多得呢個可以presetset到
  1. var option = new Option(option, value, true, true);
  2. $('#select2').append(option).trigger(‘change’);
複製代碼
可能要用 initSelection method
作者: carlkyo    時間: 2018-6-5 18:45

本帖最後由 carlkyo 於 2018-6-5 18:49 編輯

如果我想做到preselecte單或多個應該點寫
many thanks
唔用select2做簡單好多
作者: carlkyo    時間: 2018-6-5 23:15

有ching可以幫忙嗎
many thanks
作者: laputafish    時間: 2018-6-6 09:35

本帖最後由 laputafish 於 2018-6-6 09:39 編輯

<select id="friends" multiple="multiple" >
    <option value="peter">Peter</option>
    <option value="john">John</option>
    <option value="mary">Mary</option>
</select>
<script>
...
$(document).ready(function() {
   $('#friends').select2({placeholder: 'Select ...'});
   $('#friends').val(['peter','john']).trigger('change'); // 選擇 John 及 Peter.
}
...
</script>
用左 select2(...), 可以唔洗再 .option(...) , 直接 .val(....).trigger('change')
作者: carlkyo    時間: 2018-6-7 09:19

本帖最後由 carlkyo 於 2018-6-7 09:21 編輯
Peter
    John
    Mary


...
$(document).ready(function() {
   $('#friends').select2({placehol ...
laputafish 發表於 2018-6-6 09:35


hi ching
option 係post過來用唔到
純HTML既情況下你既CODE絕對用到
我唔想個頁面太多CODE,所以
<select id="friends" multiple="multiple" ></select>裡面係吉既
many thanks





歡迎光臨 電腦領域 HKEPC Hardware (https://h0.hkepc.com/forum/) Powered by Discuz! 7.2