Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Почему вызывается событие click #saveChanges, сразу после замены с #updateOrderLine (https://javascript.ru/forum/events/39842-pochemu-vyzyvaetsya-sobytie-click-savechanges-srazu-posle-zameny-s-updateorderline.html)

Алимпаша 14.07.2013 12:37

Почему вызывается событие click #saveChanges, сразу после замены с #updateOrderLine
 
Я только, только начал разбираться в JS прошу не судить строго.
$('input#updateOrderLine').replaceWith("<input id=saveChanges type=submit value='Сохранить' /input>");
$('#saveChanges').click(saveChangesOrderLine.call(this, true));

function saveChangesOrderLine(update) {
    var currentOrderLine =
    {
        id: 0
    };
    currentOrderLine.id = $(this).closest('table.detailOrderLine').attr('id').substr(16, 4);

Проблема в том, что вызов происходит сразу после замены и this вместо нужного мне элемента #saveChanges становиться input#updateOrderLine.
P.S. Если что то не понятно объяснил или не досказал, прошу задавать вопросы.

Вроде не в той ветке задал вопрос перепостил на http://javascript.ru/forum/showthrea...204#post262204

skrudjmakdak 15.07.2013 09:07

что то вы тут замудрили.. однозначно
вот эта строчка:
"<input id=saveChanges type=submit value='Сохранить' /input>"
приравнивание вроде бы нужно брать в кавычки: id="saveChanges" (также пропустили закрывающую скобку /input>), тогда:
'<input id="saveChanges" type="submit" value="Сохранить" />'


теперь здесь:
$('#saveChanges').click(saveChangesOrderLine.call( this, true));


saveChangesOrderLine.call(this, true) - вернет функцию?


Часовой пояс GMT +3, время: 09:45.