de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
Adam  K Dean
Adam K Dean
Question

Bagaimana cara mengubah dipilih nilai select2 dropdown dengan JqGrid?

I'm menggunakan Oleg's select2 demo, tapi saya bertanya-tanya apakah itu akan mungkin untuk mengubah nilai yang saat ini dipilih dalam menu dropdown.

Misalnya, jika nilai-nilai empat dimuat adalah: "Salah", "Buah", "Sayur", "Daging" dan daftar dropdown gagal untuk "Salah", bagaimana aku dapat mengubah itu menjadi "Buah" di JqGrid acara loadComplete?

Apakah ini mungkin?

173 2013-10-28T16:20:22+00:00 16
Pemrograman
jquery
jqgrid
ui-select2
Solution / Answer
 PanPipes
PanPipes
27 Mei 2015 в 8:33
2015-05-27T08:33:55+00:00
Lebih
Sumber
Sunting
#22644581

Untuk select2 versi >= 4.0.0

Solusi lain mungkin tidak bekerja, namun contoh-contoh berikut harus bekerja.

Solusi 1: Penyebab semua terpasang mengubah peristiwa-peristiwa yang memicu, termasuk select2

$('select').val('1').trigger('change');

Solusi 2: Penyebab HANYA select2 perubahan acara untuk memicu

$('select').val('1').trigger('change.select2');

Melihat ini jsfiddle. untuk contoh ini. Terima kasih untuk @minlare untuk Solusi 2.

Penjelasan:

Katakanlah saya memiliki seorang sahabat pilih dengan orang-orang's nama. Jadi Bob, Bill dan John (dalam contoh ini saya asumsikan Nilai yang sama sebagai nama). Pertama saya menginisialisasi select2 saya pilih:

$('#my-best-friend').select2();

Sekarang saya secara manual pilih Bob di browser. Berikutnya Bob melakukan sesuatu yang nakal dan aku don't seperti dia lagi. Sehingga sistem membatalkan pilihan atas Bob untuk saya:

$('#my-best-friend').val('').trigger('change');

Atau katakanlah saya membuat sistem pilih berikutnya dalam daftar bukan Bob:

// I have assume you can write code to select the next guy in the list
$('#my-best-friend').val('Bill').trigger('change');  

Catatan di Pilih 2 website (lihat Usang dan dihapus metode) yang mungkin berguna bagi orang lain:

.select2('val') "val" metode yang telah usang dan akan dihapus dalam Select2 4.1. Deprecated metode tidak lagi termasuk triggerChange parameter.

Anda harus langsung menghubungi .val di mendasari <select> elemen sebaliknya. Jika anda membutuhkan parameter kedua (triggerChange), anda juga harus memanggil .pemicu("mengubah") pada elemen.

$('select').val('1').trigger('change'); // instead of $('select').select2('val', '1');
 Community
Community
Jawaban edit 28 Agustus 2019 в 3:26
394
0
 Jack
Jack
28 Oktober 2013 в 4:25
2013-10-28T16:25:25+00:00
Lebih
Sumber
Sunting
#22644576

Melihat select2 docs yang anda gunakan di bawah ini untuk mendapatkan/menentukan nilai.

$("#select").select2("val"); //get the value
$("#select").select2("val", "CA"); //set the value

@PanPipes telah menunjukkan bahwa ini telah berubah 4.x (pergi melemparkan dia upvote di bawah ini). val sekarang disebut langsung

$("#pilih").val("CA");

Jadi dalam loadComplete dari jqGrid anda bisa mendapatkan apa pun nilai anda mencari untuk kemudian mengatur selectbox nilai.

Pemberitahuan dari docs

Perhatikan bahwa dalam rangka untuk menggunakan metode ini anda harus menentukan initSelection fungsi dalam pilihan sehingga Select2 tahu bagaimana untuk mengubah id dari objek yang anda lulus di val() untuk objek penuh itu kebutuhan untuk membuat pilihan. Jika anda memasang ke pilih elemen fungsi ini sudah disediakan untuk anda.

 Jack
Jack
Jawaban edit 9 Maret 2016 в 7:51
135
0
 Yasser
Yasser
8 Juli 2014 в 7:05
2014-07-08T07:05:55+00:00
Lebih
Sumber
Sunting
#22644579
this.$("#yourSelector").select2("data", { id: 1, text: "Some Text" });

ini harus bisa membantu.

32
0
 Neelu
Neelu
12 Agustus 2014 в 10:01
2014-08-12T10:01:48+00:00
Lebih
Sumber
Sunting
#22644580

Ini harus menjadi lebih mudah.

$("#e1").select2("val", ["View" ,"Modify"]);

Tapi pastikan nilai-nilai yang lulus sudah ada di HTMl

18
0
 Trong
Trong
12 Januari 2016 в 2:19
2016-01-12T02:19:36+00:00
Lebih
Sumber
Sunting
#22644584

Jika anda ingin menambahkan baru value=&#39;newValue&#39; dan text=&#39;newLabel&#39;, anda harus menambahkan kode ini:

  1. Tambahkan Pilihan baru untuk <select>:

var opt = ""; $(selLocationID).html(opt);

  1. Pemicu <select> mengubah ke nilai yang dipilih:

$(selLocationID).val('newValue').pemicu("mengubah");

 VLS
VLS
Jawaban edit 12 Januari 2016 в 3:09
16
0
 Abram
Abram
18 Juni 2014 в 6:54
2014-06-18T18:54:51+00:00
Lebih
Sumber
Sunting
#22644578

Hanya ingin menambahkan jawaban kedua. Jika anda memiliki sudah diberikan pilih sebagai select2, anda akan perlu untuk memiliki yang tercermin dalam selector sebagai berikut:

$("#s2id_originalSelectId").select2("val", "value to select");
 Abram
Abram
Jawaban edit 2 Mei 2016 в 1:50
16
0
 minlare
minlare
10 November 2016 в 11:31
2016-11-10T11:31:25+00:00
Lebih
Sumber
Sunting
#22644586

Anda memiliki dua pilihan - sebagai @PanPipes jawaban serikat yang dapat anda lakukan sebagai berikut.

$(element).val(val).trigger('change');

Ini adalah solusi yang dapat diterima hanya jika salah satu doesn't memiliki tindakan kustom binded untuk mengubah acara. Solusi yang saya gunakan dalam situasi ini adalah untuk memicu select2 peristiwa tertentu yang update select2 ditampilkan pilihan.

$(element).val(val).trigger('change.select2');
12
0
 Aldodzb
Aldodzb
5 Agustus 2016 в 3:50
2016-08-05T15:50:36+00:00
Lebih
Sumber
Sunting
#22644585

Memiliki beberapa masalah dengan pengaturan String opsi yang dipilih dalam select2:

Dengan pilihan: "opsi string1 /pilihan" digunakan:

$('#select').val("string1").change(); 

TETAPI dengan opsi dengan nilai: nilai opsi "E" string1 /opsi :

$('#select').val("E").change(); // you must enter the Value instead of the string

Harapan ini membantu seseorang berjuang dengan masalah yang sama.

Michael Parker
Michael Parker
Jawaban edit 5 Agustus 2016 в 3:56
9
0
 Rmalmoe
Rmalmoe
27 Juli 2017 в 7:06
2017-07-27T19:06:47+00:00
Lebih
Sumber
Sunting
#22644587

Untuk V4 Select2 jika anda ingin mengubah nilai dari select2 dan teks representasi dari drop-down.

var intValueOfFruit = 1;
var selectOption = new Option("Fruit", intValueOfFruit, true, true);
$('#select').append(selectOption).trigger('change');

Ini akan mengatur tidak hanya nilai di belakang layar tapi juga tampilan teks untuk select2.

Ditarik dari https://select2.github.io/announcements-4.0.html#removed-methods

5
0
Utkarsh Pandey
Utkarsh Pandey
16 Desember 2015 в 7:09
2015-12-16T07:09:13+00:00
Lebih
Sumber
Sunting
#22644583

jika anda ingin memilih satu nilai maka gunakan $(&#39;#pilih&#39;).val(1).perubahan()

jika anda ingin memilih beberapa nilai-nilai yang kemudian set nilai dalam array sehingga anda dapat menggunakan kode ini $(&#39;#pilih&#39;).val([1,2,3]).perubahan()

5
0
Jaskaran  singh Rajal
Jaskaran singh Rajal
21 Maret 2018 в 11:15
2018-03-21T11:15:30+00:00
Lebih
Sumber
Sunting
#22644589

lakukan ini

 $('select#id').val(selectYear).select2();
4
0
Abdullah  Sheik Davood
Abdullah Sheik Davood
23 Juni 2015 в 7:08
2015-06-23T07:08:11+00:00
Lebih
Sumber
Sunting
#22644582

Saya Diharapkan kode :

$('#my-select').val('').change();

bekerja dengan sempurna terima kasih untuk @PanPipes untuk berguna satu.

4
0
 user3444748
user3444748
13 September 2017 в 4:04
2017-09-13T04:04:35+00:00
Lebih
Sumber
Sunting
#22644588

jika anda memiliki ajax sumber data, silakan klik untuk bug gratis

https://select2.org/programmatic-control/add-select-clear-items

// Mengatur Select2 kontrol

$('#mySelect2').select2({
    ajax: {
        url: '/api/students'
    }
});

// Mengambil item terpilih, dan menambah kontrol

var studentSelect = $('#mySelect2');
$.ajax({
    type: 'GET',
    url: '/api/students/s/' + studentId
}).then(function (data) {
    // create the option and append to Select2
    var option = new Option(data.full_name, data.id, true, true);
    studentSelect.append(option).trigger('change');

    // manually trigger the `select2:select` event
    studentSelect.trigger({
        type: 'select2:select',
        params: {
            data: data
        }
    });
});
 user3444748
user3444748
Jawaban edit 13 September 2017 в 4:43
2
0
Yevgeniy Afanasyev
Yevgeniy Afanasyev
15 Januari 2019 в 5:02
2019-01-15T05:02:38+00:00
Lebih
Sumber
Sunting
#22644591

jika anda ingin mengatur item yang dipilih ketika anda mengetahui teks dari daftar drop-down dan don't tahu nilai, berikut adalah contohnya:

Katakan anda tahu timezone dan ingin mengatur itu, tetapi nilai-nilai yang telah time_zone_id di dalamnya.

        var timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
        var $select2 = $('#time-zone');
        var selected = $select2.find("option:contains('"+timeZone+"')").val();
        $select2.val(selected).trigger('change.select2'); 
1
0
 CodeNoob
CodeNoob
22 Maret 2018 в 12:51
2018-03-22T12:51:18+00:00
Lebih
Sumber
Sunting
#22644590
// Set up the Select2 control
$('#mySelect2').select2({
    ajax: {
        url: '/api/students'
    }
});

// Fetch the preselected item, and add to the control
var studentSelect = $('#mySelect2');
$.ajax({
    type: 'GET',
    url: '/api/students/s/' + studentId
}).then(function (data) {
    // create the option and append to Select2
    var option = new Option(data.full_name, data.id, true, true);
    studentSelect.append(option).trigger('change');

    // manually trigger the `select2:select` event
    studentSelect.trigger({
        type: 'select2:select',
        params: {
            data: data
        }
    });
});

Jenis huruf : Pilih 2 dokumentasi

0
0
Foram Thakral
Foram Thakral
20 Juni 2019 в 3:48
2019-06-20T03:48:01+00:00
Lebih
Sumber
Sunting
#22644592

anda hanya dapat menggunakan get/set metode untuk menetapkan nilai

$("#select").select2("val"); //get the value
$("#select").select2("val", "CA"); //set the value

atau anda dapat melakukan ini:

$('#select').val("E").change(); // you must enter the Value instead of the string
0
0
Related communities 1
jQuery Indonesia
jQuery Indonesia
343 pengguna
Learning jQuery & Solve Problem
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 1 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
DE
EL
ES
FR
ID
IT
JA
LV
NL
PT
RU
TR
ZH
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi