1
0
mirror of synced 2024-11-22 21:16:10 +03:00

improve val() handling on multiselect. fixes #654

This commit is contained in:
Igor Vaynberg 2013-02-09 09:41:35 -08:00
parent 2f53c251d4
commit ebc436c42b

View File

@ -1932,15 +1932,14 @@ the specific language governing permissions and limitations under the Apache Lic
if (opts.element.get(0).tagName.toLowerCase() === "select") {
// install sthe selection initializer
opts.initSelection = function (element,callback) {
opts.initSelection = function (element, callback) {
var data = [];
element.find(":selected").each2(function (i, elm) {
data.push({id: elm.attr("value"), text: elm.text(), element: elm});
});
if ($.isFunction(callback))
callback(data);
element.find(":selected").each2(function (i, elm) {
data.push({id: elm.attr("value"), text: elm.text(), element: elm[0]});
});
callback(data);
};
} else if ("data" in opts) {
// install default initSelection when applied to hidden input and data is local
@ -2410,10 +2409,7 @@ the specific language governing permissions and limitations under the Apache Lic
this.setVal(val);
if (this.select) {
this.select.find(":selected").each(function () {
data.push({id: $(this).attr("value"), text: $(this).text()});
});
this.updateSelection(data);
this.opts.initSelection(this.select, this.bind(this.updateSelection));
if (triggerChange) {
this.triggerChange();
}