我努力让一段代码工作,但我不是一个jquery家伙,所以请耐心等待。
I have an outer DIV ($scope)
。它包含各种输入。
我找到每种输入类型的所有条目并过滤它们以获得具有值的输入。这些存储在$ entries中。
$inputs contains all the inputs regardless of type or status.
我试图做的是remove $entries from $inputs
以消除差异。
它不起作用,而且此刻我没有收到任何错误,所以没有任何事情可以继续。
我的第一个想法是,jquery无法将一个列表中的元素与另一个列表中的元素匹配,因为它只包含索引,而不是实际对象。这可能完全错误(请参阅第1行)。
无论哪种方式,我都需要找到一种方法来获取所有元素并将它们分成2位 - 具有值和没有值的那些。
所有帮助表示赞赏。
function inputLoaded(isPostback) {
if (typeof Page_Validators !== "undefined") {
$scope = $(".active-step:first");
$inputs = $scope.find(inputs);
$cb = $scope.find(checkboxes).filter(":checked");
$rb = $scope.find(radios).filter(":checked");
$sb = $scope.find(selects).filter(function () { return $(this).val() !== "None"; });
$ta = $scope.find(textareas).filter(function () { return $(this).val(); });
$tb = $scope.find(textboxes).filter(function () { return $(this).val(); });
$entries = $cb.add($rb).add($sb).add($ta).add($tb);
// Do things with $entries here
// Get elements that have not got entries
$el = $inputs.remove($entries);
}
}
答案 0 :(得分:-1)
not()方法可以使用一个jQuery对象,其内容将从您应用它的jQuery对象中排除。它看起来与您正在寻找的完全一样:
// Get elements, excluding entries.
$el = $input.not($entries);