2016-10-03 65 views
1

我有一個表格,使用jQuery validation,並在用戶點擊「繼續」時在頁面頂部列出錯誤。動態添加/刪除動態錯誤驗證列表的編號?

我需要基於每個現有錯誤的數字列表中的錯誤,所以他們需要動態生成。因此,例如,而不是

  1. [空]
  2. [空]
  3. 輸入你出生的月份
  4. [空]

這將是

  1. 輸入您出生的月份

有沒有辦法做到這一點?

$("ul.error-menu li").each(function(i, el) { 
    $(this).children('a').prepend("<span>" + (i+1) + "</span>"); 
}); 

<ul class="error-message-container error-menu"> 
    <li><a href="#firstName"><label class="error" for="firstName" generated="true"></label></a></li> 
    <li><a href="#lastName"><label class="error" for="lastName" generated="true"></label></a></li> 
    <li><a href="#dobMonth"><label class="error" for="dobMonth" generated="true"></label></a></li> 
</ul> 

任何幫助正確的方向將是偉大的。

小提琴:https://jsfiddle.net/DTcHh/25812/

回答

1

只需添加list-style-typedecimal

.error-message-container.error-menu li { 
    list-style-type: decimal; 
} 

而且啊,去掉這部分:

$("ul.error-menu li").each(function(i, el) { 
    $(this).children('a').prepend("<span>" + (i+1) + "</span>"); 
}); 

小提琴:https://jsfiddle.net/pr5o1qzo/

+0

謝謝你,但沒有取得結果我所期待的。我需要列表來反映我最初的例子 - 頁面上有幾個潛在的驗證檢查。該列表應該只反映實際存在的錯誤,沒有空格,並按數字順序排列。 – bunnycode

+0

@bunnycode那麼我的代碼是做什麼呢?它顯示相同的方式嗎? –

+0

您的代碼最初顯示一個空的數字列表;那麼,如果用戶點擊「繼續」而不填寫字段,則列表將被完全填充。例如,如果用戶填寫除一個字段以外的所有字段,則錯誤列表中會有空行/空白。你的代碼做的是保留那些空白的差距。我想要的只是一個只包含錯誤的列表,以及錯誤的數字順序。如果沒有錯誤,則列表不顯示。如果有一個錯誤,則顯示「1. [對應錯誤]」。如果有兩個錯誤,則顯示2個錯誤。等 – bunnycode