Artikel ini terutama membahas tentang metode paling dasar yang terkait dengan javascript dan pemilihan, untuk referensi bagi orang yang tidak terbiasa dengan javascript. Situasi yang umum terjadi adalah orang yang mengusulkan struktur formulir tidak hanya perlu merancang logika untuk program dan membuat struktur data, tetapi juga perlu merancang gaya formulir dan memahami javascript; di photoshop: pada awalnya, kita semua Jadilah serba bisa.
Berikut ini adalah dasar dari contoh kita; ini bukan bentuk standar.
<formulir id="f">
<pilih ukuran="1" nama="s">
<option value="VeVB.COM">Wulin.com</option>
<option value="baidu.com">Baidu</option>
</pilih>
</bentuk>
--------------------------------------------------- --------------------------
Copy kode kodenya sebagai berikut:
<skrip tipe="teks/javascript">
<!--
var f = dokumen.getElementById("f");
//Dapatkan jumlah item daftar yang dipilih
document.write(fsoptions.length);
dokumen.write(fslength);
//Subskrip dari item yang dipilih saat ini (mulai dari 0) (ada dua metode)
//Jika beberapa item dipilih, kembalikan subskrip dari item pertama yang dipilih
document.write(fsoptions.selectedIndex);
dokumen.write(fsselectedIndex);
//Periksa apakah suatu item dipilih
document.write(fsoptions[0].selected);
//Dapatkan nilai dan teks item tertentu
dokumen.tulis(fsoptions[0].value);
dokumen.tulis(fsoptions[1].text);
//Hapus sebuah item
fpilihan[1] = nol;
//Tambahkan item
fsoptions[fsoptions.length] = new Option("Teks tambahan", "Nilai tambahan");
//Mengubah item
fsoptions[1] = new Option("teks diubah", "nilai diubah");
//Anda juga dapat langsung mengatur teks dan nilai item
//-->
</skrip>
//Pilih semua item dalam daftar
fungsi SelectAllOption (daftar)
{
untuk (var i=0; i<daftar.pilihan.panjang; i++)
{
daftar.pilihan[i].dipilih = benar;
}
}
// Membalikkan pemilihan item dalam daftar oleh jaringan pembelajaran asp VeVB.COM
functionDeSelectOptions(daftar)
{
untuk (var i=0; i<daftar.pilihan.panjang; i++)
{
daftar.pilihan[i].pilihan = !daftar.pilihan[i].pilihan;
}
}
//Kembalikan jumlah item yang dipilih dalam daftar
fungsi GetSelectedOptionsCnt(daftar)
{
var cnt = 0;
var saya = 0;
untuk (i=0; i<daftar.pilihan.panjang; i++)
{
if (daftar.pilihan[i].dipilih)
{
cnt++;
}
}
kembali tidak;
}
//Hapus daftarnya
fungsi ClearList (daftar)
{
while (daftar.pilihan.panjang > 0)
{
daftar.pilihan[0] = nol;
}
}
//Hapus item yang dipilih dari daftar
//Kembalikan jumlah item yang dihapus
fungsi DelSelectedOptions (daftar)
{
var saya = 0;
var deleteCnt = 0;
sementara (i < daftar.pilihan.panjang)
{
if (daftar.pilihan[i].dipilih)
{
daftar.pilihan[i] = null;
dihapusCnt++;
}
kalau tidak
{
saya++;
}
}
kembalikan deleteCnt;
}
//Fungsi ini menemukan apakah item terkait ada
//repeatCheck apakah akan melakukan pemeriksaan pengulangan
//Jika "v", lakukan pemeriksaan nilai duplikat berdasarkan nilai
//Jika "t", lakukan pemeriksaan nilai duplikat berdasarkan teks
//Jika "vt", lakukan pemeriksaan nilai duplikat berdasarkan nilai dan teks
//Nilai lain, tanpa pemeriksaan pengulangan, menghasilkan nilai salah
fungsi OptionExists (daftar, optText, optValue, repeatCheck)
{
var saya = 0;
var temukan = salah;
jika (ulangiPeriksa == "v")
{
//Periksa nilai duplikat berdasarkan nilai
untuk (i=0; i<daftar.pilihan.panjang; i++)
{
if (daftar.pilihan[i].nilai == optValue)
{
temukan = benar;
merusak;
}
}
}
lain jika (repeatCheck == "t")
{
// Ulangi pemeriksaan melalui teks
untuk (i=0; i<daftar.pilihan.panjang; i++)
{
if (daftar.pilihan[i].teks == optTeks)
{
temukan = benar;
merusak;
}
}
}
lain jika (repeatCheck == "vt")
{
//Gandakan pemeriksaan berdasarkan nilai dan teks
untuk (i=0; i<daftar.pilihan.panjang; i++)
{
if ((list.options[i].value == optValue) && (list.options[i].text == optText))
{
temukan = benar;
merusak;
}
}
}
kembali temukan;
}
//Tambahkan item ke daftar
//list adalah daftar yang akan ditambahkan
//optText dan optValue masing-masing mewakili teks dan nilai item
//repeatCheck apakah akan melakukan pemeriksaan pengulangan, lihat OptionExists
//Mengembalikan nilai benar jika berhasil ditambahkan, salah jika gagal
fungsi AppendOption(daftar, optText, optValue, repeatCheck)
{
if (!OptionExists(daftar, optText, optValue, repeatCheck))
{
daftar.pilihan[daftar.pilihan.panjang] = Opsi baru(optText, optValue);
kembali benar;
}
kalau tidak
{
kembali salah;
}
}
//masukkan item
//posisi penyisipan indeks, bila posisi penyisipan >= jumlah item yang ada dalam daftar, fungsinya sama dengan menambahkan item tanpa pengecekan ulang
//optText dan optValue masing-masing mewakili teks dan nilai item
fungsi InsertOption(daftar, indeks, optText, optValue)
{
var saya = 0;
untuk (i=daftar.pilihan.panjang; i>indeks; i--)
{
daftar.pilihan[i] = Opsi baru(daftar.pilihan[i-1].teks, daftar.pilihan[i-1].nilai);
}
list.options[index] = Opsi baru(optText, optValue);
}
//Ekspor item dari satu daftar ke daftar lainnya
//repeatCheck apakah akan melakukan pemeriksaan pengulangan, lihat OptionExists
//Setelah item deleteSource diimpor ke target, apakah akan menghapus item dalam daftar sumber
//Kembalikan jumlah item yang terpengaruh
fungsi ListToList(sList, dList, repeatCheck, deleteSource)
{
//Jumlah baris yang terpengaruh
var baris = 0;
var saya = 0;
while (i<sList.options.length)
{
if (sList.options[i].selected && AppendOption(dList, sList.options[i].text, sList.options[i].value, repeatCheck))
{
//Berhasil ditambahkan
baris++;
jika(hapusSumber)
{
//Hapus item dari daftar sumber
sList.options[i] = null;
}
kalau tidak
{
saya++;
}
}
kalau tidak
{
saya++;
}
}
jalur kembali;
}
//Memindahkan item yang dipilih ke atas dalam daftar
fungsi MoveSelectedOptionsUp (daftar)
{
var saya = 0;
nilai var = "";
var teks = "";
untuk (i=0; i<(daftar.pilihan.panjang-1); i++)
{
if (!daftar.pilihan[i].dipilih && daftar.pilihan[i+1].dipilih)
{
nilai = daftar.pilihan[i].nilai;
teks = daftar.pilihan[i].teks;
daftar.pilihan[i] = Opsi baru(daftar.pilihan[i+1].teks, daftar.pilihan[i+1].nilai);
daftar.pilihan[i].dipilih = benar;
list.options[i+1] = Opsi baru(teks, nilai);
}
}
}
//Memindahkan item yang dipilih ke bawah dalam daftar
fungsi MoveSelectedOptionsDown (daftar)
{
var saya = 0;
nilai var = "";
var teks = "";
untuk (i=daftar.pilihan.panjang-1; i>0; i--)
{
//www.VeVB.COM
if (!list.options[i].selected && list.options[i-1].selected)
{
nilai = daftar.pilihan[i].nilai;
teks = daftar.pilihan[i].teks;
daftar.pilihan[i] = Opsi baru(daftar.pilihan[i-1].teks, daftar.pilihan[i-1].nilai);
daftar.pilihan[i].dipilih = benar;
list.options[i-1] = Opsi baru(teks, nilai);
}
}
}