diff --git a/extensions/xforms/resources/content/select.xml b/extensions/xforms/resources/content/select.xml index 9a48ddefcb8d..b3035f67b813 100644 --- a/extensions/xforms/resources/content/select.xml +++ b/extensions/xforms/resources/content/select.xml @@ -544,7 +544,7 @@ // textnode under the bound node. var copySelectedOrDeselected = new Boolean(); copySelectedOrDeselected.value = false; - var contentEnvelope = this._getSelectedValues(copySelectedOrDeselected); + var contentEnvelope = this._processSelectedValues(copySelectedOrDeselected); if (contentEnvelope) { if (boundNode.nodeType == Node.ELEMENT_NODE) { // we shouldn't call setContent if we haven't selected any @@ -568,11 +568,11 @@ } } else { // if some copyItems were selected by the user prior to the call - // to _getSelectedValues, then we would not have set up + // to _processSelectedValues, then we would not have set up // _accessorValueCache. Since the node we are bound to can't // be set by copyItems (its not an ELEMENT_NODE), any copyItems // in this select would have been deselected during - // _getSelectedValues. Thus, anything in the contentEnvelope at + // _processSelectedValues. Thus, anything in the contentEnvelope at // this point should just be strings and so we can set // delegate.value directly and use _accessorValueCache after all. @@ -584,7 +584,13 @@ - + + @@ -715,16 +725,16 @@ for (var i = 0; i < options.length; i++) { var selected = this.control.isItemSelected(options[i].option); if (options[i].wasSelected && !selected) { - this.dispatchSelectEvent(options[i].control, "xforms-deselect"); options[i].wasSelected = false; + this.dispatchSelectEvent(options[i].control, "xforms-deselect"); } } for (var i = 0; i < options.length; i++) { var selected = this.control.isItemSelected(options[i].option); if (!options[i].wasSelected && selected) { - this.dispatchSelectEvent(options[i].control, "xforms-select"); options[i].wasSelected = true; + this.dispatchSelectEvent(options[i].control, "xforms-select"); } } ]]> @@ -824,20 +834,32 @@ - + - if (this.parentControl) { - if (!aIncremental || this.parentControl.incremental) { - this.parentControl._setBoundValue(); - } else { - // we should call _getSelectedValues() method since we probably - // should unselect illegaly selected items. - this.parentControl._getSelectedValues(); - } - this.parentControl._dispatchSelectEvents(); +