2

Я использую привязку текстового поля Kendo UI и привязку значения MVVM.как удалить приглашающий символ из kendo maskedtextbox mvvm привязка значения

В поле имени модели просмотра отсутствуют символы приглашения типа «() -« содержит просто цифры.

var viewModel = kendo.observable({ phoneNumber: "1234567890", onChange: function() { alert("event :: change " + this.get("phoneNumber")); } }); kendo.bind($("#example"), viewModel);

При изменении значения в форме и осмотрите ViewModel PHONENUMBER (см OnChange функцию). Номер телефона теперь содержит специальные/приглашающие символы, например. phoneNumber: "(444) 555-5555"

Это моя проблема, я ожидаю, что значение MaskedTextbox вернет только числа phoneNumber: "4445555555" не со специальными символами.

Full Code Snippet @JS Fiddle

ответ

0

ли еще некоторое исследование и нашли Workaround answer

для разоблачительных значений, DataBound к наблюдаемой при использовании MVVM. Один обработчик события изменения MaskedTextBox может лишить форматирование для любого значения связывания: <ul data-role="listview"> <li> <label> Home Phone: <input type="text" data-role="maskedtextbox" data-bind="value: homePhone, events: { change: maskStrip }" data-mask="(000) 000-0000" /> </label> </li> <li> <label> Cell Phone: <input type="text" data-role="maskedtextbox" data-bind="value: cellPhone, events: { change: maskStrip }" data-mask="(000) 000-0000"/> </label> </li> </ul>

var vm = kendo.observable({ homePhone: null, cellPhone: null, maskStrip: function (e) { var that = e.sender, stripped = that._unmask(that.value()), obs = e.data, val = that.element.data("bind"); if (val) { val = val.substring(val.indexOf('value: ') + 7); //remove properties before if (val.indexOf(',') > -1) val = val.substring(0, val.indexOf(',')); //remove properties after obs.set(val, stripped); } } });

+0

Пожалуйста, добавьте ответ на свой пост, в случае URL умирает. Также примите свой ответ. :) – Nicholas

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

  • Нет связанных вопросов^_^