[英]Access multiple elements with ID from within a node, but also with specific class
我需要從特定元素中檢索ID 以“_inputError”結尾的所有元素,而且,我只需要檢索設置了class 'b-block'的 inputError。我將如何使用 javascript/jquery 執行此操作?
我知道我可以得到我的表單節點: var formNode = $("#frm1");
我知道我可以獲取所有以 ID 結尾的元素,但這將獲取所有元素,這不是我所需要的: var inputErrors = $("[id$=_inputError]");
.
我如何將它們混合在一起,以便從指定的表單節點中僅檢索帶有“d-block”class 的輸入錯誤?
干杯!
更新:這似乎對我有用:
var inputErrors = $("[id$=_inputError].d-block");
console.warn(inputErrors[0]);
它將使用 class.d-block 檢索所有 inputError。 但是,我還沒有找到如何僅從選定的表單元素 ID 而不是漏洞頁面來執行此檢查。 (我可以在一個頁面上有多個 forms!)
我需要從特定元素中檢索ID 以“_inputError”結尾的所有元素,並且,我只需要檢索設置了class 'b-block'的 inputError .. 我將如何使用 javascript/jquery 執行此操作?
我知道我可以通過以下方式獲取表單節點: var formNode = $("#frm1");
我知道我可以得到所有以 ID 結尾的元素,但這會得到所有元素,這不是我所需要的: var inputErrors = $("[id$=_inputError]");
.
如何將它們混合在一起,以便從指定的表單節點中僅檢索帶有 'd-block' class 的輸入錯誤?
干杯!
更新:這似乎對我有用:
var inputErrors = $("[id$=_inputError].d-block");
console.warn(inputErrors[0]);
它將使用 class.d-block 檢索所有 inputError。 但是,我還沒有找到如何僅從選定的表單元素 id 而不是孔頁進行此檢查。 (我可以在一個頁面上有多個 forms!)
為了盡可能幫助他人,這是最終解決方案以及我需要它的原因:
本質上,我從 ajax 帖子中得到回復,如下所示:
{
type: 2,
formid: 'frmProfile',
fields: {
username: "Invalid username!",
email: "Invalid email!"
}
}
我循環我的 response.fields 以顯示每個失敗輸入下的個別錯誤。
然后我需要找到一種方法將焦點設置在第一個失敗的輸入上,因為我的字段不是基於 0 索引的,所以我不能簡單地將焦點設置在數組中的第一個字段上! 它們是“隨機”循環的!
因此,我決定獲取我們顯示的所有輸入錯誤(id=*_inputError 和 class d-block)。 返回數組中的第一個實際上是第一個輸入錯誤,所以:我使用它的ID來確定對應的輸入名稱並將焦點設置到它上面:
var inputErrors = $("#" + response.formid + " [id$=_inputError].d-block");
var firstInputError = inputErrors[0].id.replace(/_inputError$/, ''); // get just the name of the failed input! Its name/id should be the same as <name>_inputError!
document.getElementById(firstInputError).focus();
這似乎對我有用;)希望這可以為其他人提供想法。
感謝您的幫助! P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.