2012-03-19 3 views
2

Я пытаюсь сделать так, чтобы, если я перемещаю красный квадрат div вокруг экрана с использованием jQuery UI и jQuery, тогда поле ввода обновляется с положением div. Я получил, что работает с простым .val. Но трудно объяснить, почему, но мне нужно сделать так, чтобы, когда я перемещаю квадрат, он обновляет поле ввода, и когда значение поля ввода изменяется, другое поле ввода отражает новое значение старого поля ввода. Имею ли я смысл, потому что я сбиваю с толку :). Я сделал jsfiddle, так что, возможно, там будет больше смысла.jQuery .val Enigma между двумя полями ввода

Если вы перемещаете красный квадрат, то поле ввода непосредственно над ним обновляется, но поле ввода выше этого не делает, даже если оно запрограммировано так, чтобы отображать значение окна ввода под собой.

P.S. Является ли это специфическим только для jQuery, или эта проблема присутствует во всех JavaScript.

Спасибо!

http://jsfiddle.net/xmCsq/27/

+1

«... запрограммировано, чтобы отразить значение ...» где? – gpasci

ответ

2

Вы должны инициировать событие вручную, если ваши установки значения в коде, например

http://jsfiddle.net/xmCsq/30/

Кроме того, почему вы используете событие KeyUp?

изменить: неважно, я неправильно понял, что вы пытались сделать.

+0

нет причин, вот что я думал, что должен был делать. я делаю это неправильно? – Matt

+0

Как получилось, что значение поля ввода, координата, обновляется только при наведении курсора на div? – Matt

+0

ну, я бы использовал событие изменения, так как вы на самом деле не набирали/не вводили ничего на вход. – Jack

0

Я очистил ваш код чуть-чуть. Проблема заключалась в том, что имя, которое вы выбрали для val # другого, value, уже было взято на языке Javascript. Рабочая демонстрация here.

EDIT: О, неверно изложите свой вопрос. Обновлено демо; причина, по которой ваш второй ящик не обновлялся, заключается в том, что вы забыли установить его для обновления, когда вы отпускаете перетаскиваемый ящик. :)

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