2013-09-10 5 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 это класс .. "#" используется для id & dot используется для классов.

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

js Fiddle Demo

+0

Я исправил эту часть, но по какой-то причине все еще не работал 'data.response'takes' false', но 'div.variation_checkbox' остается – Reynier

+0

все еще не работает – Reynier

+0

Мне сложно, так как значения генерируются из БД и в основном функции 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

Смежные вопросы