1 回答

TA貢獻1804條經驗 獲得超2個贊
“ALL”是什么意思?
'ALL' 來自以下內容:
var country = $('#ddlCountry').find("option:selected").val();
var age = $('#ddlAge').find("option:selected").val();
然后將其傳遞給您的函數 SearchData (country, age)
據我了解,td:eq(#) 在表中占據了一個位置?
td:eq()
使用 eq 選擇器,它根據括號 () 內的索引選擇一個元素。由于沒有額外的過濾器,它只會在該索引處獲取 td。注意:索引是從 0 開始的,因此如果有 5 個單元格,您將得到單元格 0、1、2、3、4。
https://api.jquery.com/eq-selector/
為什么所有內容都轉換為大寫?
在這種情況下,確實沒有理由轉換為大寫(或小寫)。通常是“規范化”來自用戶的輸入數據。如果他們決定鍵入 All、all、ALL 等,將它們轉換為“ALL”更容易進行比較。
我如何擴展這段代碼以包含多個選擇。它會是大量的 if/else 還是這段代碼寫得不好并且一個簡單的循環就足夠了?
如果不進一步說明您要完成的任務,我無法對此做出太多回答?,F在你的邏輯看起來大致是這樣的:
If Country = "All" & Age = "All"
Return Everything
If Country != '' Then
If Country != 'All'
Return Country rows that match
If Age != 'All'
Return Age rows that match
此代碼是多余的。它比較 rowCountry != '' OR rowCountry != ''。您可以將 $(this).find('td:eq(1)').text() 替換為 rowCountry 以使其更易于閱讀。
$(this).find('td:eq(1)').text() != '' || $(this).find('td:eq(1)').text() != ''
您可以看到此 rowCountry 設置為相同的值:
var rowCountry = $.trim($(this).find('td:eq(1)').text());
添加回答
舉報