2014-09-24 44 views
0

我試圖創建一個像這樣工作的jQuery腳本:檢查所有輸入,看看他們的字段是否爲空(空)。如果它是空的,則轉到下一個出現的跨度(同胞元素),找到包含在跨度內的子圖像並將其刪除。這是我迄今爲止所擁有的。jQuery IF語句,查找所有輸入與空值,並刪除相應的元素

if ($("input").val() == "") { 
$(this).next("span").find("img:first").remove(); 
} 

我把它弄壞了,試圖在控制檯內部稍微修改一下內部代碼。我只是想刪除img。

$("input").next("span").find("img:first").remove(); 

永遠不能讓它工作。從技術上講,在這個範圍內只有一個img,但我只是爲了踢球而離開它。

任何想法如何首先讓我孤立的代碼行工作,然後將其納入該IF語句?另外,我是否正確使用(this)?謝謝。形式的每個請求

HTML:

<div class="voucher-input first-input"> 
    Voucher 1: <input style="text-transform: uppercase;" maxlength="20" name="voucher1" id="voucher1" title="Voucher" class="input" value="" type="text"><span id="voucher1dbpass" style="position: absolute; right: 5%;"><img src="valid.png" width="30" height="30"> </span> 
    <span class="vouchererr" id="1">Remove Any Illegal Characters</span> 

    <span class="error"></span> 
    </div> 

<div class="voucher-input second-input"> 
    Voucher 2: <input style="text-transform: uppercase;" maxlength="20" name="voucher2" id="voucher2" title="Voucher" class="input" value="" type="text"><span id="voucher2dbpass" style="position: absolute; right: 5%;"><img src="invalid.png" width="30" height="30"><br> </span> 
    <span class="vouchererr" id="2">Remove Any Illegal Characters</span> 

    <span class="error"></span> 

背景:我有一個號碼的形式憑證字段。 AJAX正在檢查數據庫以查看提供的優惠券號碼是好還是不好。如果他們很好,他們會得到一張支票(valid.png)。如果不好,他們會得到一個X(invalid.png)。由於我的AJAX/PHP如何交互,img元素是從單獨的PHP文件加載的。如果用戶從憑證字段中刪除其有效或無效的條目,則需要使用.remove()函數將其從表單中刪除。在正常形式的驗證方法中,使用類似.hide()/。show()的東西就足夠了,但是這個元素的「原始狀態」是不存在的。那麼,我寧願只是使用某種「動態」方法,而不是冗餘來使用元素模式。

+0

我已經張貼的答案,我想工作,但你的問題的描述是令人難以置信* *含糊:您可以添加背景? HTML會很有用。此代碼應該在什麼場合/事件運行? – 2014-09-24 22:17:52

+0

感謝大衛的幫助。我按要求提供了HTML。讓我知道我是否可以提供其他任何東西。此外,嘗試下面的解決方案,但正如你所說,我需要提供更多的細節。 – sparecycle 2014-09-24 23:24:35

回答