使用jquery加载后更改输入日期最小日期的属性

时间:2014-04-27 15:50:39

标签: javascript jquery

所以在我加载包含html5的表单后,我需要修改它的最小日期,所以我尝试了这个

$(document).ready(function(){
            $("#JQTarget").load("Forms.php #Renew"), function(){
            $("#JQTarget").find("#startDate").attr({"min" : '2013-12-09'});
}
            }); 

我也试过了,但仍然没有工作

$(document).ready(function(){
            $("#JQTarget").load("Forms.php #Renew").ready( function(){
            $("#JQTarget").find("#startDate").attr({"min" : '2013-12-09'});
});
            });

所以任何想法? 我也尝试过根本不使用find而只是使用$("#startDate")但它没有工作 它似乎没有返回正确的元素实际上返回的东西甚至不是html所以idk有什么不对

2 个答案:

答案 0 :(得分:0)

日期格式不正确。它应该是YYYY-MM-DD:

.attr({"min" : '2013-12-09'});

答案 1 :(得分:0)

div with #jQTarget在你的例子中,find选择器正在寻找一个元素startDate,而不是一个id为#startDate的元素(以防你在从dfsq应用修复时没有注意到)。

编辑:这对我有用......

$( document ).ready(function() {
//note that the function callback is part of the load method so don't close the parens 
//after passing in the thing to load -> that was the mistake in the first example you listed. 

    $('#JQTarget').load('Forms.php #Renew', function() {
        $('#startDate').attr('min' , '2013-12-09');
    });

});

假设你的页面有一个id为JQTarget的元素,而你的Forms.php有一个div,它在某种程度上类似于:

<div id="Renew">
    <form>
        <input type="date" name="startdate" id="startDate" min="2000-01-02">
    <form>
</div>

......也适合你。