[英]How to get the value of closest SPAN?
我已經創建了注冊表格,現在我試圖在字段上輸入null驗證。 所有字段都位於一個表中,例如:
<table border="0" cellspacing="5" width="100%">
<tr>
<td width="50%" valign="top">
<span id="ctl00_PageBody_lblFname">Prénom</span>
<strong><font color="#FF0000">*</font></strong><br />
<input name="ctl00$PageBody$txtFname" type="text" id="ctl00_PageBody_txtFname" rel="First Name" />
<br />
<span id="ctl00_PageBody_lblLname">Nom</span>
<strong><font color="#FF0000">*</font></strong><br />
<input name="ctl00$PageBody$txtLname" type="text" id="ctl00_PageBody_txtLname" rel="Last Name" />
</td>
</tr>
</table>
現在使用jQuery,我試圖創建一個遍歷所有文本框的泛型函數,如果它們為空,則會顯示一條消息,提示字段名稱:
var Msg = "Please provide values for :";
var nullFieldTracked = 'false';
$('input[type="text"], select').each(function () {
if (this.value == '' && this.hasAttribute("rel")) {
nullFieldTracked = 'true';
Msg += '\n - ' + $(this).attr('rel');
}
});
if (nullFieldTracked == 'true') {
alert(Msg);
return false;
}
代碼就像魅力一樣工作,我在文本框中添加了“ rel”屬性,以便讀取字段名稱,但
現在需求有了變化,我需要以多語言啟動該網站,因此它將從資源文件中讀取屬性,而asp.net不會為“ rel”標簽創建元資源,所以我在想從最近的跨度中讀取字段名稱,但無法跟蹤。
請幫助Jquery。
非常感謝。
從最近的范圍獲取價值
$(this).prevAll("span").first().text()
不知道是否可以在.net的文本字段中添加數據屬性
如果是,則可以將span的id存儲在將具有的輸入的data
屬性中。每個文本字段應將span id保存在他的data屬性中,例如
<input name="ctl00$PageBody$txtFname" type="text" id="ctl00_PageBody_txtFname" rel="First Name" data-error-span = '#span1'/>
現在在您的JS中
$('input[type="text"], select').each(function () {
if (this.value == '' && this.hasAttribute("rel")) {
nullFieldTracked = 'true';
Msg += '\n - ' + $($(this).data('error-span')).val();
}
});
另一個選擇是將錯誤存儲在data屬性中,然后JS將是
Msg += '\n - ' + $(this).data('error-message');
看起來也很可讀
很棒的Rails :)
使用.closest()會給出最近的選擇器元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.