2014-12-06 58 views
-2

我的jQuery的版本是1.3.2jQuery的 - 對象有沒有方法「道具」

我使用這下面的代碼來選擇所有複選框 -

$('#alldw').change(function(){ 
     if($(this).prop('checked')){ 
      $('tbody tr td input[id="dwchk"]').each(function(){ 
       $(this).prop('checked', true); 
      }); 
     }else{ 
      $('tbody tr td input[id="dwchk"]').each(function(){ 
       $(this).prop('checked', false); 
      }); 
     } 
    }); 

但我得到以下錯誤

Uncaught TypeError: Object [object Object] has no method 'prop' action:181 
(anonymous function) action:181 
jQuery.event.handle jquery.js:2568 
elemData.handle.eventHandle 

任何解決方案?

注 - 我不希望因爲有許多依賴於它

+2

道具是1.6+。 1.3是古老的。使用attr如果你不想升級 – mplungjan 2014-12-06 06:42:39

+1

你需要使用最新的jquery版本 – BNN 2014-12-06 06:43:21

+1

'我不想升級jquery,因爲它有很多依賴關係 - 然後你不能指望使用只有更新的函數版本。 – Axel 2014-12-06 06:44:18

回答

2

道具1.6+升級的jQuery。 1.3是古老的。如果您不想升級或更改,請使用attr

this.checked=true; 

您的代碼效率非常低。也ID必須是唯一的

$('#alldw').click(function(){ 
    var chk = this.checked; 
    $('tbody tr td input[name="dwchk"]').each(function(){ 
    this.checked=chk; 
    }); 
}); 

你可能要檢查出這個問題的答案

Upgrade jQuery 1.4.2 to 1.9.1

+1

這個作品 - 謝謝朋友:) – D3Systems 2014-12-06 06:56:44

0

請更新您的jQuery的鏈接,它也可以用於其他功能非常有用。 使用下面的jQuery鏈接版本來運行prop。您只需要更改ID的,休息一切都很好。而jQuery將處理一切

Jquery link

1

.prop()是jQuery的版本1.6或更高版本添加。你需要使用jQuery最新版本。

0

我覺得:checked選擇上支持1.3版:

if($(this).is(':checked')) 

使用它,如果你不想升級到最新版本的jQuery的,因爲它是一個老項目,你將不得不改變那麼很多東西。