2012-10-30 58 views
1

我寫了follwing滑塊切換框的jQuery代碼。當我執行它,jquery說失蹤:後屬性ID。爲什麼jquery說失蹤:屬性ID後?

function toggleBox(){ 
    $(".toggleLink").toggle(           
      function() { 
       $(this).parent('.toggleBoxContainer').find('.toggleBox').slideUp('slow'); 
       var SlideStatus = $(this).parent('.toggleBoxContainer').find('.hiddenFilterID').text(); 
       $.get(window.location ,{ $(this).parent('.toggleBoxContainer').find('.hiddenFilterID').text() : SlideStatus}); 
       console.log($(this).parent('.toggleBoxContainer').find('.hiddenFilterID').text()); 
       }, function() { 
       $(this).parent('.toggleBoxContainer').find('.toggleBox').slideDown('slow'); 
       $.get(window.location ,{ SlideStatus : null }); 
      }); 
} 

我在哪裏做錯了。幫助將大大增加

+3

使用對象的關聯數組符號的第一個'$ .get'是非法的語法和沒有意義。 – Jon

+2

難道你的'$ .get'參數看起來是錯誤的嗎?嘗試交換'$(this).parent(etc.)'和'SlideStatus' ... – MassivePenguin

+0

變量SlideStatus的內容是一些數字(例如:8,10) – user964147

回答

3

如果你想動態密鑰名

var myobject = {}; 
myobject[SlideStatus] = SlideStatus; 
$.get(window.location, myobject); 
+0

非常感謝你,它像一個魅力:-) – user964147

0

您的第一個$.get聲明沒有意義。您將值$(this).parent('.toggleBoxContainer').find('.hiddenFilterID').text()分配給變量SlideStatus,然後將相同的變量名稱傳遞給$.get語句。

可以在$.get調用之外使用不同的變量名稱,也可以將要傳入的參數名稱更改爲$.get調用。目前,它們是錯誤的(它應該是propertyName : propertyValue)。

+0

非常感謝您的回答我希望作爲PropertyNmae:propertyvalue shoud是相同的 – user964147

+0

所以你想要'$ .get(window.location,{SlideStatus:SlideStatus});'? – devnull69

+0

問題是您正在爲SlideStatus分配一個值。讓我們假設'$(this).parent('。toggleBoxContainer')。find('。hiddenFilterID')。text()'是「測試文本!」的值。你發送給'$ .get'函數的是'測試文本! :測試文本!'。嘗試給你的外部變量('var SlideStatus')一個不同的名字(例如'var myStatus')並且像這樣傳遞它:'SlideStatus:myStatus'。 – MassivePenguin