Hallo ich habe ein Coffeescript wie folgt aus:Ajax hängten Objekte nicht sichtbar in der dom
$(document).on 'change', '#add_skill_form', ->
skill_name = $('#character_skill_of_objects option:selected').text()
if $('#skill_' + skill_name).length == 0
$.ajax
url: 'on_add_skill'
type: 'GET'
dataType: 'script'
data: {
skill_id: $('#character_skill_of_objects option:selected').val()
}
else
alert 'Skill already in use'
Innerhalb meiner Sicht Ich habe einige statische Fähigkeiten erzeugt, und für sie diese Validierung funktioniert gut. Wenn jedoch ein neues Objekt dynamisch hinzugefügt wird, funktioniert die Validierung nicht für ihn.
Dies ist meine Add-Funktion, wo #skill_list
ist ein ul
und add_skill Teil fügt li
Objekte hinzu:
'<%= form_for [current_user, @character] do |f| %>'
$('#skill_list').append("<%= j render partial: 'add_skill', locals: { character: @character, skill: @skill, f: f } %> ");
'<% end %>'
Ich gehe davon aus, dass die DOM
nicht neu geladen, nachdem neues Objekt erstellt wird.
Die add_skill_form ist ein Drop-Down-Auswahlmenü, und neue Elemente werden zu skill_list ul hinzugefügt, wie ein li – Kazik
versuchen, die Fertigkeit mit einem Bereich, smt wie 'if $ (Dokument) .find ('# skill_' + skill_name) ' – dpedoneze
Es hat funktioniert !! :) Kannst du bitte mehr Erklärung in der Antwort geben? – Kazik