下一个代码有什么问题?它位于$ dialogContent.dialog
中buttons: {
save : function() {
calEvent.start = new Date(startdateField+' '+starttimeField.val()); // 11/25/2012 15:00
calEvent.end = new Date(endField.val());
if($('#script_all_stores_false').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequency_as_dayField.val() = 99; }
// если не заполнено поле recurring_start, то заполнить его текущей датой начала события
if(recurring_startField.val()!='') calEvent.recurring_start = new Date(recurring_startField.val()); else calEvent.recurring_start = new Date(startdateField+' '+starttimeField.val());
// если не заполнено поле recurring_end, то заполнить его текущей датой + 1год (логика: уроки вряд ли держатся в расписании больше года, когда преподаватель определится до какого числа будут занятия с этой группой, он заполнит нужной датой)
var startDate = new Date(startdateField+' '+starttimeField.val()); //calEvent.recurring_start;??
if(recurring_endField.val()!='') calEvent.recurring_end = new Date(recurring_endField.val());
else if(recurring_endField.val()=='' && $("#script_all_stores_true").is(":checked")/*&& recurring_startField.val()!=''*/) calEvent.recurring_end = new Date( startDate.setDate(startDate.getDate() + 365) );
calEvent.frequency_as_day = frequency_as_dayField.val();
var my_query_str = '';
$dialogContent.find("input[type='checkbox'][name='days']").each( function() {
if(this.checked) { my_query_str += "&bookArray[]=" + 1; }
else { my_query_str += "&bookArray[]=" + 0; }
});
calEvent.days = my_query_str;
calEvent.title = titleField.val();
calEvent.body = bodyField.val();
calEvent.teacher_id = teacherField.val();
...
Firebug说:
ReferenceError: invalid assignment left-hand side
[Break On This Error]
...e').attr('checked')) { /*clearChildren(document.getElementById('days'));*/ frequ...
如果我将frequency_as_dayField.val() = 99;
更改为var frequency_as_dayField = 99;
TypeError: frequency_as_dayField.val is not a function
[Break On This Error]
calEvent.frequency_as_day = frequency_as_dayField.val();
我的javascript很糟糕,抱歉。请帮忙(
答案 0 :(得分:12)
您需要将值传递给.val()
,而不是为返回的值分配值。
if($('#script_all_stores_false').attr('checked')) {
/*clearChildren(document.getElementById('days'));*/
frequency_as_dayField.val(99) /* = 99*/ ;
// good-------------^ ^-------------bad
}