diff --git a/docs/change-log.md b/docs/change-log.md index 4fc58b58..fb8cf4bf 100644 --- a/docs/change-log.md +++ b/docs/change-log.md @@ -9,6 +9,7 @@ ### Bug Fixes: - fixed a subtree directive bug that happened in inputs inside loops +- fixed select.value so that the correct option is displayed on first render --- diff --git a/mithril.js b/mithril.js index 2922dee7..a8cf5f22 100644 --- a/mithril.js +++ b/mithril.js @@ -133,8 +133,9 @@ Mithril = m = new function app(window) { node = namespace === undefined ? window.document.createElement(data.tag) : window.document.createElementNS(namespace, data.tag) cached = { tag: data.tag, - attrs: setAttributes(node, data.tag, data.attrs, {}, namespace), + //process children before attrs so that select.value works correctly children: data.children !== undefined ? build(node, data.tag, undefined, undefined, data.children, cached.children, true, 0, data.attrs.contenteditable ? node : editable, namespace, configs) : undefined, + attrs: setAttributes(node, data.tag, data.attrs, {}, namespace), nodes: [node] } parentElement.insertBefore(node, parentElement.childNodes[index] || null)