2013-04-22 47 views
1

我有一個表td,如下所示。無法將日期傳遞給javascript函數

$roomRowId.append("<td onclick='updateBookingRooms(" + roomId + "," + date + ")'></td>"); 

當用戶點擊這個TD我要調用javascript函數

updateBookingRooms(ID,日期)

id變成真值,但日期不是真的vaue。

例如,如果 updateBookingRooms(1,02/04/2013),我收到ID = 1和日期= 0.00012419274714356681

這是什麼問題?我怎樣才能找回原來的日期值。

回答

1

的參數使用括號:

$roomRowId.append("<td onclick='updateBookingRooms(\"" + roomId + "\", \"" + date + "\")'></td>"); 

您還可以將click事件是這樣的:

$('<td></td>').appendTo($roomRowId).click([roomId, date], updateBookingRooms); 
+0

謝謝..它真棒...你救了我的一天。 – Anand 2013-04-22 06:23:36

3

我會建議你避免操縱DOM在使用字符串連接。相反,jQuery有一個很好的方法來建立一個DOM元素:

$roomRowId.append(
    $('<td/>', { 
     text: 'some text that goes inside the td', 
     click: function() { 
      updateBookingRooms(roomId, date); 
     } 
    }) 
); 

這不是從你的例子很清楚roomIddate是否要傳遞給函數,還是那些硬編碼值的JavaScript變量。

+3

我認爲值得+1只是爲了制定OP在想什麼。我當然不清楚。那麼爲什麼這個字符串被當作一個算術表達式呢?還是那種純粹的巧合? – RobG 2013-04-22 06:14:36