2016-11-17 52 views
-2

我希望能夠選中選中的值不等於屬性值的複選框。選擇不同的兩個屬性

所以我可能有<input type="checkbox" originalValue="false" checked="checked"><input type="checkbox" originalValue="true">所以現在用戶不選中它,所以它是不同的。

我可能在頁面上有幾千個,所以我只想要那些用戶已經改變了原來的值。所以最初複選框被選中,然後他們取消選擇它。

或者如果它被選中,那麼他們取消選中它,然後再次檢查它,然後我不需要該複選框。

有沒有一個優雅的jQuery方式來做到這一點?

+4

我很驚訝,有人用你的代表發佈了一個問題,沒有任何代碼來顯示您的解決嘗試問題? – melancia

+0

我很抱歉,爲什麼這太寬泛?看起來很特別。選中選中的值與屬性不相同的複選框。 – griegs

+0

當您可能有很多方法來編寫解決方案時,我認爲它可以被分類爲過寬,不是?如果你給我們你正在掙扎的東西(代碼),那麼建議更加狹義的東西會更容易。 – melancia

回答

2

總有一種優雅的方式做的事情 - 用filter並篩選出對立面:

var changedElements = $("input:checkbox").filter(function() { 
    var originalValue = $(this).attr("originalValue"); //unsure if this is auto-parsed to a bool, will have to check 
    var originalBoolValue = originalValue === "true"; 

    return originalBoolValue != this.checked; 
}); 
+0

謝謝。至少你明白了這個問題 – griegs

+0

這絕對完美謝謝你。 – griegs