jQuery日期选择器可以';得不到val()
我对jQueryUIDatePicker感到困惑。我有以下功能:jQuery日期选择器可以';得不到val(),jquery,jquery-ui,Jquery,Jquery Ui,我对jQueryUIDatePicker感到困惑。我有以下功能: $(".text-date").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd" }); $("#regdatum input").change(function() { alert('Regdatum from: '+$("#filter-regdatum-from-value").val());
$(".text-date").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd"
});
$("#regdatum input").change(function() {
alert('Regdatum from: '+$("#filter-regdatum-from-value").val());
alert('Regdatum to: '+$("#filter-regdatum-to-value").val());
if (($("#filter-regdatum-from-value").attr("value") != '') && ($("#filter-regdatum-to-value").attr("value") != ''))
{
generateDomainList();
}
});
它将单击事件附加到div#regdatum
中的输入字段。此处显示的两个警报通过datepicker返回输入字段中选择的日期。当这两个字段有值时,它需要执行函数generateDomainList()
。在此函数中,我尝试使用上述方法获取相同输入字段的值:
$("#filter-regdatum-from-value").val()
但无论我在此时做什么,它都会在我的警报中返回“未定义”(不是字符串)。对我来说,这似乎不合逻辑,有人能告诉我为什么会出现这种情况,或者如何解决它吗?如果不看完整的代码,很难找到问题所在。但这可能是由函数中的可变访问级别引起的。尝试以下修改,它可能会工作
var from_val="";
var to_val="";
$("#regdatum input").change(function() {
from_val=$("#filter-regdatum-from-value").val();
to_val=$("#filter-regdatum-to-value").val();
if ((from_val != undefined) && (to_val != undefined))
{
generateDomainList();
}
});
function generateDomainList()
{
alert(from_val);
alert(to_val);
}
这里请注意,在事件处理程序之前声明变量很重要
或者可能还有另一个原因,即相同的
id
选择器的两个实例。您是否也可以为regdatum
输入包含HTML源代码?在获取val()
时,选择器语法似乎不正确。奇怪的是,为什么在if语句中使用.attr(“value”)而不是.val()。OK,sloppy。这是测试的结果。发现两者都给出了相同的结果。输入的HTML源(得到了4个em所有不同ID调用datepicker的相同类)@tvgemert:Hmm.:(代码对我有效。我通过alert(),而不是undefined`,正确地获得了值。