diff --git a/src/compiler/compile/render_ssr/handlers/Element.ts b/src/compiler/compile/render_ssr/handlers/Element.ts
index 5ef354a85a..35a15aff63 100644
--- a/src/compiler/compile/render_ssr/handlers/Element.ts
+++ b/src/compiler/compile/render_ssr/handlers/Element.ts
@@ -126,9 +126,11 @@ export default function(node: Element, renderer: Renderer, options: RenderOption
} else if (binding.name === 'value' && node.name === 'textarea') {
const snippet = expression.node;
node_contents = x`${snippet} || ""`;
+ } else if (binding.name === 'value' && node.name === 'select') {
+ // NOTE: do not add "value" attribute on
} else {
const snippet = expression.node;
- renderer.add_expression(x`@add_attribute("${name}", ${snippet}, 1)`);
+ renderer.add_expression(x`@add_attribute("${name}", ${snippet}, ${boolean_attributes.has(name) ? 1 : 0})`);
}
});
diff --git a/test/runtime/samples/apply-directives-in-order/_config.js b/test/runtime/samples/apply-directives-in-order/_config.js
index 7c8f87ef85..0c85c97f8b 100644
--- a/test/runtime/samples/apply-directives-in-order/_config.js
+++ b/test/runtime/samples/apply-directives-in-order/_config.js
@@ -9,7 +9,7 @@ export default {
`,
ssrHtml: `
-
+
`,
diff --git a/test/runtime/samples/binding-circular/_config.js b/test/runtime/samples/binding-circular/_config.js
index 505ed22beb..3e58ab2f98 100644
--- a/test/runtime/samples/binding-circular/_config.js
+++ b/test/runtime/samples/binding-circular/_config.js
@@ -3,11 +3,5 @@ export default {
- `,
-
- ssrHtml: `
-
`
};
diff --git a/test/runtime/samples/binding-select-implicit-option-value/_config.js b/test/runtime/samples/binding-select-implicit-option-value/_config.js
index cce1172f6a..1266602a47 100644
--- a/test/runtime/samples/binding-select-implicit-option-value/_config.js
+++ b/test/runtime/samples/binding-select-implicit-option-value/_config.js
@@ -14,16 +14,6 @@ export default {
foo: 2
`,
- ssrHtml: `
-
-
- foo: 2
- `,
-
async test({ assert, component, target, window }) {
const select = target.querySelector('select');
const options = [...target.querySelectorAll('option')];
diff --git a/test/runtime/samples/binding-select-in-each-block/_config.js b/test/runtime/samples/binding-select-in-each-block/_config.js
index 89f40f8d48..80ea375b78 100644
--- a/test/runtime/samples/binding-select-in-each-block/_config.js
+++ b/test/runtime/samples/binding-select-in-each-block/_config.js
@@ -1,17 +1,4 @@
export default {
-
- ssrHtml: `
-
-
-
- `,
-
html: `