[help] jquery+form+select

Статус
В этой теме нельзя размещать новые ответы.

tr3ff

Постоялец
Регистрация
26 Июн 2006
Сообщения
119
Реакции
46
Суть проблемы:
Есть форма, в ней поле select, нужно что бы при определённом значении этого поля (value=0), в форму добавлялось поле input, при обратном изменении этого select (например, value=2), поле input пропадало.

Примерный код
js:
Код:
function select_type()
{
if(document.getElementById('stype').value==0)
    $("<div id=\"sdiv\">type:<input type=\"text\" name=\"my_type\" /></div>").appendTo("#selectform");
else
    $("#sdiv").empty();
}

html:
HTML:
<form method="post" id="sform" enctype="multipart/form-data">
<div id="selectform">
<select name="type" id="stype" onchange="select_type();">
<option value="1">type 1</option>
<option value="2">type 2</option>
<option value="0">my type</option>
</select>
</div>

Поле input успешно добавляется, и исчезает, правда лишь 1 раз =) Как добится того что бы оно пропадало каждый раз при смене значения select?
 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript">
$(document).ready(function(){   
    $("#stype").change(function(){
		var selected = $("#stype option:selected").val();
		if (selected == 0) {
			$("#sdiv").show();
			$("#sdiv").html('type:<input type="text" name="my_type" />');
		} else {
			$("#sdiv").hide();
			$("#sdiv").empty();
		}
	});      
});
</script>
</head>

<body>
<form method="get" id="sform" enctype="multipart/form-data">
<div id="selectform">
<select name="type" id="stype">
<option value="1">type 1</option>
<option value="2">type 2</option>
<option value="0">my type</option>
</select>
</div>
<div id="sdiv" style="display:none;"></div>
<input type="submit" />
</form>
</body>
</html>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху