<select onchange="more3x(this)" name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="-1">Более трех</option>
</select>
<script>
function more3x(obj) {
if (obj.options[obj.selectedIndex].value != -1) return;
var inp = document.createElement('input');
inp.type = 'text';
inp.name = obj.name;
obj.parentNode.replaceChild(inp, obj);
inp.focus();
}
</script>
Эх, не пыльная работенка!