jquery(JQM)刷新表单元素

时间:2012-04-01 17:57:46

标签: jquery forms jquery-mobile cordova

我正在尝试通过调用一些js代码来设置表单元素的默认值,但输入似乎没有刷新。

<li data-role="fieldcontain">
<label for="defcal">Purchase Date</label>
<input name="defcal" type="date" data-role="datebox" id="defcal"/>
</li>

function onDeviceReady() {
var today = new Date();
var dayofmonth = today.getDate();
var dayofweek = today.getDay();
var year = today.getFullYear();
var month = today.getMonth();
var monthstring = month;
if(month < 10){
    monthstring = "0"+monthstring;
}

$('#defcal').val(year+'-'+month+'-'+dayofmonth);

}

有人建议使用$('#defcal')。textinput();刷新输入但它也不起作用。

2 个答案:

答案 0 :(得分:1)

取决于你什么时候想要调用这个函数是在某些elts改变做这样的事情:

    $(function() {
    $('#ID_ELTS').change(function() {

  var today = new Date();
    var dayofmonth = today.getDate();
    var dayofweek = today.getDay();
    var year = today.getFullYear();
    var month = today.getMonth();
    var monthstring = month;
    if(month < 10){
        monthstring = "0"+monthstring;
    }

    $('#defcal').val(year+'-'+month+'-'+dayofmonth);
    });

});

答案 1 :(得分:1)

您可能希望通过向其添加onDocumentReady来检查是否正在调用alert()函数,因为当调用文档就绪函数或$(function() { });时,此代码在jsfiddle中工作块。

示例:http://jsfiddle.net/p3GbM/

在此示例中,我还使用#devcal设置monthstring值,因为它看起来像你想要的那样。

希望这有帮助!