我正在尝试获取下拉选项的值(在选择标记上有一个id),打开网页时
使用
$(document).ready(function() {
$('#cat_list').ready(function(){
var category = $(this).val();
alert(category);
});
});
我收到空白警报。
但是使用.change(当在下拉列表中选择其他内容时),以下代码与相同的函数完美配合
$(document).ready(function() {
$('#cat_list').change(function(){
var category = $(this).val();
alert(category);
});
});
最后,这可以使用基本的javascript,它可以成功获取打开,刷新,表单提交失败的值,等等
$(document).ready(function() {
$('#cat_list').ready(function(){
var e = document.getElementById("cat_list");
var category = e.options[e.selectedIndex].value;
alert(category);
});
});
感谢您为什么第一个版本.ready + $(this).val();失败
答案 0 :(得分:1)
正确的代码是:
$(document).ready(function () {
var category = $('#cat_list').val();
alert(category);
});
答案 1 :(得分:1)
$(document).ready本身意味着整个文档(包括#cat_list)已准备好进行处理。为什么要检查一个元素是否准备就绪!! ??
你可以直接使用像
这样的元素的值 $('#cat_list').val();
答案 2 :(得分:0)
文档说.ready
:
指定在DOM完全加载时要执行的函数。
以下3种可能的用例:
但是,您实际上可以将.ready
分配给任何元素,它将被触发:
$('#cat_list').ready(function(){
});
此代码被触发。 {strong 1}内this
函数中的但 .ready
始终引用document
。
它将以这种方式工作:
$(document).ready(function() {
$('#cat_list').ready(function(){
var category = $('#cat_list').val();
alert(category);
});
});
但实际上你的代码是过度设计的:
$(document).ready(function() {
var category = $('#cat_list').val();
alert(category);
});