Jawaban:
Daripada .val()digunakan .text(), seperti ini:
$(".ui-datepicker-month").live("click", function () {
var monthname = $(this).text();
alert(monthname);
});
Atau di jQuery 1.7+ gunakan on()seperti yang livesudah tidak digunakan lagi:
$(document).on('click', '.ui-datepicker-month', function () {
var monthname = $(this).text();
alert(monthname);
});
.val()adalah untuk elemen tipe input (termasuk textareas dan dropdown), karena Anda berurusan dengan elemen dengan konten teks, gunakan di .text()sini.
Saya pikir Anda ingin .text():
var monthname = $(this).text();
Untuk mengambil teks dari nilai span yang dibuat secara otomatis, lakukan ini:
var al = $("#id-span-name").text();
alert(al);
-Tidak ada satu pun di atas yang secara konsisten berhasil untuk saya. Jadi, inilah solusi yang saya kerjakan yang berfungsi secara konsisten di semua browser karena menggunakan fungsionalitas dasar. Semoga ini dapat membantu orang lain. Menggunakan jQuery 8.2
1) Dapatkan objek jquery untuk "span". 2) Dapatkan objek DOM dari atas. Menggunakan jquery .get (0) 3) Menggunakan innerText objek DOM dapatkan teksnya.
Berikut ini contoh sederhananya
var curSpan = $(this).parent().children(' span').get(0);
var spansText = curSpan.innerText;
HTML
<div >
<input type='checkbox' /><span >testinput</span>
</div>
.live()tidak digunakan lagi di 1.7 dan dihapus di 1.9+