仅在手动输入值时工作

时间:2014-04-08 18:18:37

标签: javascript

为什么此代码不起作用。但当我手动插入值 var nm2 = budi; 其工作

<div>
Date From: <input id="date1" class='easyui-datebox' style='width:150px'>
To: <input id="date2" class='easyui-datebox' style='width:150px'>
Nama <input id="nama" style='width:150px' class="easyui-validatebox">
<a href='#' id="aaa" class='easyui-linkbutton' iconCls='icon-search'>Cari</a>
</div>

这里是javascript

var d1=0;
var d2=0;
var nm2=$('#nama').val();

$('#date1').datebox({
    onSelect: function(date){
        d1= date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();
    }
})

$('#date2').datebox({    
    onSelect: function(date){
        d2= date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();
    }
})

$('#aaa').click(function(){    
    $('#query').datagrid('options').url="getjson.php?&names="+nm2+"&start_date="+d1+"&end_date="+d2;
    $('#query').datagrid('reload');
})

2 个答案:

答案 0 :(得分:0)

我想这是因为你在脚本加载时为nm2分配了你的值。我想你在点击提交时想要分配它。

$('#aaa').click(function(){
nm2=$('#nama').val();
$('#query').datagrid('options').url="getjson.php?names="+nm2+"&start_date="+d1+"&end_date="+d2;
$('#query').datagrid('reload');
})

至少应该让你走上正轨。

答案 1 :(得分:0)

为什么要在函数之外声明它?

如果在任何情况下你想将var nm2用作全局变量,你可以这样做

var nm2;

$('#aaa').click(function(){ 
    nm2 = $('#nama').val();
    $('#query').datagrid('options').url="getjson.php?&names="+nm2+"&start_date="+d1+"&end_date="+d2;
    $('#query').datagrid('reload');
})

很抱歉,这不是一个完整的代码,请亲自尝试。