Jquery ui JQDaterRangeSlider'内的RemoteFunction;s UserValuesChanged事件
我在Grails应用程序的index.gsp中有一个下拉列表和一个jqDaterRangeSlaider(jQuery小部件)。我正在使用remoteFunction将下拉列表中选择的值和通过滑块选择的范围发布到控制器中的查询中。我想要这三个值(滑块中的两个值和下拉列表中的一个值)当发生以下任一事件时,发送到控制器:Jquery ui JQDaterRangeSlider'内的RemoteFunction;s UserValuesChanged事件,jquery-ui,grails,jquery-plugins,params,Jquery Ui,Grails,Jquery Plugins,Params,我在Grails应用程序的index.gsp中有一个下拉列表和一个jqDaterRangeSlaider(jQuery小部件)。我正在使用remoteFunction将下拉列表中选择的值和通过滑块选择的范围发布到控制器中的查询中。我想要这三个值(滑块中的两个值和下拉列表中的一个值)当发生以下任一事件时,发送到控制器: 下拉列表更改 滑块上的值会更改 remoteFunction在下拉列表的一次更改中工作正常,但当我在滑块的UserValuesChanged块中复制remoteFunction时,
class PgtypController {
def ajaxGetMv = {
def pgtyp = Pgtyp.executeQuery("select p.date_hour ,p.visits, p.mv, p.browser,p.pagetype,p.platform,p.device,p.time_period from Pgtyp p where p.mv = ? and p.date_hour >= ? and p.date_hour <= ? order by col_0_0_ asc ",[ params.mv ] + params.list( 'date_hour' ))
render pgtyp as JSON
}
def dataSource
def datejson = {
def sql = new Sql(dataSource)
def rows = sql.rows("select min(date_hour) as a , max(date_hour) as b from pgtyp")
sql.close()
render rows as JSON
}
def index() {
}
谁能告诉我到底哪里出了问题?如果代码在更改select标记时运行良好,那么为什么我在滑块的UserValuesChanged中出现此错误?我认为您可以在
参数中尝试另外转义&
:'\'mv=\'+$(\'mv\')。value+\'&date\u hour=\'+z+\'&date\u hour=\'+b'
行
<form>
<g:select from="['AFFILIATES', 'CSE','DISPLAYADS','EMAIL','MOBILEWEB','OTHERS','ORGANIC','SEO', 'SEM']" name="mv" id = "mv"
onchange="${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
params:'\'mv=\' + escape(this.value)+\'&date_hour=\'+ z+\'&date_hour=\'+ b',
//params:'\'mv=\'+this.value',
onSuccess: 'printpgtyp(data)')}"
></g:select>
</form>
<script>
dataFile = "http://localhost:8080/marchmock2/Pgtyp/datejson";
d3.json(dataFile, function(error,data) {
if (data)
dataset = data;
var min = dataset[0].a;
var min2 = new Date(min);
var max = dataset[dataset.length - 1].b;
var max2 = new Date(max);
function addZero(val) {
if (val < 10) {
return "0" + val;
}
return val;
}
var s = $j("#slider").dateRangeSlider({
bounds: {
"min": min2,
"max": max2
},
range: {
min: {
hours: 1
}
},
formatter:function(val){
var m = moment(val);
return m.format("DD/MM/YYYY HH:00:00 ");
},
defaultValues:{
min: min2,
max: max2
}
});
x = (s.dateRangeSlider("values").min);
x.setMinutes(0);
x.setSeconds(0);
z = x.getFullYear()+'-'+(x.getMonth()+1)+ '-'+x.getDate()+' '+x.getHours()+':'+'00'+':'+'00' ;
var y = (s.dateRangeSlider("values").max);
y.setMinutes(0);
y.setSeconds(0);
b = y.getFullYear()+'-'+(y.getMonth()+1)+ '-'+y.getDate()+' '+y.getHours()+':'+'00'+':'+'00' ;
$j('#slider').on("userValuesChanged",function (e, data) {
var x = datavalues.min;
x.setMinutes(0);
x.setSeconds(0);
z = x.getFullYear()+'-'+(x.getMonth()+1)+ '-'+x.getDate()+' '+x.getHours()+':'+'00'+':'+'00' ;
var last = data.values.max;
last.setMinutes(0);
last.setSeconds(0);
b = last.getFullYear()+'-'+(last.getMonth()+1)+ '-'+last.getDate()+' '+last.getHours()+':'+'00'+':'+'00' ;
${remoteFunction(
controller:'Pgtyp',
action:'ajaxGetMv',
params:'\'mv=\' +$(\'mv\').value+\'&date_hour=\'+ z+\'&date_hour=\'+ b',
onSuccess: 'printpgtyp(data)')}
})
});
function printpgtyp(data)
{
console.log(data)
console.log(data.length)
}//end of printpgtyp
</script>
Uncaught SyntaxError: Unexpected token &