2013-09-10 80 views
0

我有這樣的代碼:創建/刪除的飛行元素

if (data.response) { 
    $("#product-create-step-2 input:last").after('<div class="variation_checkbox"><input type="checkbox" value="1" name="has_variations" id="has_variations" /> Posee variaciones?</div>'); 
} else { 
    console.log("false"); 
    $("#product-create-step-2 input:last").remove('#variation_checkbox'); 
} 

正在發生的事情是:

  1. data.response是事實,就創建的元素幾次,我只需要創建一個時間不知道
  2. 如何當data.response是以前創造永不被刪除虛假的元素,不知道爲什麼

有什麼幫助嗎?

UPDATE

我創作的元素如下:

<div id="has_variation" style="display:none"> 
    <input type="checkbox" value="1" name="has_variations" id="has_variations" /> Has variations? 
</div> 

然後我的代碼更改爲:

$("div.has_variation").toggle(data.response); 

是不應該,如果data.response是真實的元素應該顯示,如果data.response是錯誤的元素應該隱藏?我錯過了什麼?

+1

選擇器正在選擇輸入,而不是您要刪除的內容。 –

+0

@KevinB我試圖從 – Reynier

+0

之前的位置刪除它的元素。對,但這不是你的代碼所說的。 –

回答

2

variation_checkbox是一個類。「#」用於標識&點用於類。

$("#product-create-step-2").find('.variation_checkbox').remove(); 

js Fiddle Demo

+0

我修復了這部分,但由於某種原因仍然不工作'data.response'takes'false'但'div.variation_checkbox'仍然 – Reynier

+0

仍然不能正常工作 – Reynier

+0

對我來說很難,因爲從DB生成的值和主要是Symfony2的功能 – Reynier

1

div輸入之後被附。您的選擇器$("#product-create-step-2 input:last").remove('#variation_checkbox');正在尋找裏面的的輸入。

試試這個:

$("#product-create-step-2 input:last").next('.variation_checkbox').remove(); 

編輯改變#variation_checkbox.variation_checkbox

+0

不工作,元素仍然可見 – Reynier

+0

已編輯:已將#variation_checkbox更改爲.variation_checkbox。 –

+0

我已經改變過,並保持從未隱藏或摧毀 – Reynier