조건에 따라 셀렉트박스를 다르게 하려면 정보
조건에 따라 셀렉트박스를 다르게 하려면본문
제목대로이고요...
라디오 버튼에서 빵을 선택하면 식빵, 붕어빵이 나오고
야채를 선택하면 당근, 오이..
고기를 선택하면..닭고기, 소고기등
이렇게 나오게 할려고 아래처럼 했는데요....
조건에 따라 표시되는것이 아니라 한번에 다 보여요...
왜 그러런거죠 ?
<form name="fwrite">
<tr>
<td width="125"> </td>
<td width="515">
<input name="product" type="radio" value="1" checked >
빵
<input name="product" type="radio" value="2" >
야채
<input name="product" type="radio" value="3" >
고기
</td>
</tr><br>
<tr>
</tr>
<? (if $product==1) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>식빵</option>
<option value='2'>붕어빵</option>
</select>
<? } ?>
<? (if $product==2) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>당근</option>
<option value='2'>오이</option>
</select>
<? } ?>
<? (if $product==3) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>닭고기</option>
<option value='2'>소고기</option>
</select>
<? } ?>
</form>
라디오 버튼에서 빵을 선택하면 식빵, 붕어빵이 나오고
야채를 선택하면 당근, 오이..
고기를 선택하면..닭고기, 소고기등
이렇게 나오게 할려고 아래처럼 했는데요....
조건에 따라 표시되는것이 아니라 한번에 다 보여요...
왜 그러런거죠 ?
<form name="fwrite">
<tr>
<td width="125"> </td>
<td width="515">
<input name="product" type="radio" value="1" checked >
빵
<input name="product" type="radio" value="2" >
야채
<input name="product" type="radio" value="3" >
고기
</td>
</tr><br>
<tr>
</tr>
<? (if $product==1) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>식빵</option>
<option value='2'>붕어빵</option>
</select>
<? } ?>
<? (if $product==2) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>당근</option>
<option value='2'>오이</option>
</select>
<? } ?>
<? (if $product==3) {?>
<select name='wr_type1' onChange="moneys(this)" class=select>
<option value='1'>닭고기</option>
<option value='2'>소고기</option>
</select>
<? } ?>
</form>
댓글 전체
이게 아닐까요?
<? (if $product==1) {?> ==> <? if ($product==1) {?>
아래 모두... ^^
<? (if $product==1) {?> ==> <? if ($product==1) {?>
아래 모두... ^^
답변 감사드립니다.
말씀하신걸로 바꿔바도 똑같이 한번에 다나와요..ㅠ.ㅠ
얼마전에 다중셀렉트 소스를 찾은게 있는데
그걸응용해서
<script language='javascript'>
var cnt = new Array();
cnt[0] = new Array('수입/지출항목을 선택해주세요');
cnt[1] = new Array('운송수입-계약금','운송수입-잔금','미수금회수','창고보관수입','영업외수익','기타수익');
cnt[2] = new Array('대여금','인건비-일용직','인건비-정규직','상여금','수당','용차료','직영차사용료');
function change(ku) {
sel=document.psm.sel2
/* 옵션메뉴삭제*/
for (i=sel.length-1; i>=0; i--){
sel.options[i] = null
}
/* 옵션박스추가 */
for (i=0; i < cnt[ku].length;i++){
sel.options[i] = new Option(cnt[ku][i], cnt[ku][i]);
}
}
</script>
<script language="JavaScript">
function money(obj)
{
document.price.value = 100
}
</script>
<form name='psm' method='post' action=$PHP_SELF>
<select name='sel1' onchange="change(this[this.selectedIndex].value);money(this);" class=select>
<option value='0'>항목</option>
<option value='1'>수입항목</option>
<option value='2'>지출항목</option>
</select> <-- 항목선택
<select name='sel2' class='select'>
<option>수입/지출항목을 선택해주세요</option>
</select>
<input name="price" type="text" class="input" size="12" readonly>
</form>
이걸 이용해서...함해볼려구
<script language='javascript'>
var cnt = new Array();
cnt[0] = new Array('수입/지출항목을 선택해주세요');
cnt[1] = new Array('운송수입-계약금','운송수입-잔금','미수금회수','창고보관수입','영업외수익','기타수익');
cnt[2] = new Array('대여금','인건비-일용직','인건비-정규직','상여금','수당','용차료','직영차사용료');
function change(ku) {
sel=document.psm.sel2
/* 옵션메뉴삭제*/
for (i=sel.length-1; i>=0; i--){
sel.options[i] = null
}
/* 옵션박스추가 */
for (i=0; i < cnt[ku].length;i++){
sel.options[i] = new Option(cnt[ku][i], cnt[ku][i]);
}
}
</script>
<script language="JavaScript">
function money(obj)
{
document.getElementById('price').value = 100;
}
</script>
<form name='psm' method='post' action=$PHP_SELF>
<input name='sel1' type="radio" value="0" onchange="change(this);money(this);">항목
<input name='sel1' type="radio" value="1" >수입항목
<input name='sel1' type="radio" value="2" >지출항목
<select name='sel2' class='select'>
<option>수입/지출항목을 선택해주세요</option>
</select>
<input name="price" type="text" class="input" size="12" readonly>
</form>
바꿔 밨는데요..역시 실패..
말씀하신걸로 바꿔바도 똑같이 한번에 다나와요..ㅠ.ㅠ
얼마전에 다중셀렉트 소스를 찾은게 있는데
그걸응용해서
<script language='javascript'>
var cnt = new Array();
cnt[0] = new Array('수입/지출항목을 선택해주세요');
cnt[1] = new Array('운송수입-계약금','운송수입-잔금','미수금회수','창고보관수입','영업외수익','기타수익');
cnt[2] = new Array('대여금','인건비-일용직','인건비-정규직','상여금','수당','용차료','직영차사용료');
function change(ku) {
sel=document.psm.sel2
/* 옵션메뉴삭제*/
for (i=sel.length-1; i>=0; i--){
sel.options[i] = null
}
/* 옵션박스추가 */
for (i=0; i < cnt[ku].length;i++){
sel.options[i] = new Option(cnt[ku][i], cnt[ku][i]);
}
}
</script>
<script language="JavaScript">
function money(obj)
{
document.price.value = 100
}
</script>
<form name='psm' method='post' action=$PHP_SELF>
<select name='sel1' onchange="change(this[this.selectedIndex].value);money(this);" class=select>
<option value='0'>항목</option>
<option value='1'>수입항목</option>
<option value='2'>지출항목</option>
</select> <-- 항목선택
<select name='sel2' class='select'>
<option>수입/지출항목을 선택해주세요</option>
</select>
<input name="price" type="text" class="input" size="12" readonly>
</form>
이걸 이용해서...함해볼려구
<script language='javascript'>
var cnt = new Array();
cnt[0] = new Array('수입/지출항목을 선택해주세요');
cnt[1] = new Array('운송수입-계약금','운송수입-잔금','미수금회수','창고보관수입','영업외수익','기타수익');
cnt[2] = new Array('대여금','인건비-일용직','인건비-정규직','상여금','수당','용차료','직영차사용료');
function change(ku) {
sel=document.psm.sel2
/* 옵션메뉴삭제*/
for (i=sel.length-1; i>=0; i--){
sel.options[i] = null
}
/* 옵션박스추가 */
for (i=0; i < cnt[ku].length;i++){
sel.options[i] = new Option(cnt[ku][i], cnt[ku][i]);
}
}
</script>
<script language="JavaScript">
function money(obj)
{
document.getElementById('price').value = 100;
}
</script>
<form name='psm' method='post' action=$PHP_SELF>
<input name='sel1' type="radio" value="0" onchange="change(this);money(this);">항목
<input name='sel1' type="radio" value="1" >수입항목
<input name='sel1' type="radio" value="2" >지출항목
<select name='sel2' class='select'>
<option>수입/지출항목을 선택해주세요</option>
</select>
<input name="price" type="text" class="input" size="12" readonly>
</form>
바꿔 밨는데요..역시 실패..

<html>
<head>
<title></title>
<head>
<script language="JavaScript">
function Activity(name, list){
this.name = name;
this.list = list;
}
var acts = new Array();
acts[0] = new Activity('빵', ['식빵', '호빵', '붕어빵']);
acts[1] = new Activity('고기', ['소고기', '돼지고기', '양고기','말고기']);
acts[2] = new Activity('야채', ['파', '당근', '무우','오이']);
function updateList(str){
var frm = document.myForm;
var oriLen = frm.myList.length;
var numActs;
for (var i = 0; i < acts.length; i++){
if (str == acts[i].name) {
numActs = acts[i].list.length;
for (var j = 0; j < numActs; j++)
frm.myList.options[j] = new Option(acts[i].list[j],
acts[i].list[j]);
for (var j = numActs; j < oriLen; j++)
frm.myList.options[numActs] = null;
}
}
}
</script>
</head>
<body>
<form name=myForm>
<B>선택 :</B>
<input type=radio name=rad value=빵 onClick="updateList(this.value)">빵
<input type=radio name=rad value=고기 onClick="updateList(this.value)">고기
<input type=radio name=rad value=야채 onClick="updateList(this.value)">야채
<select name=myList>
<option>-----------</option>
</select>
</form>
</body>
</html>
<head>
<title></title>
<head>
<script language="JavaScript">
function Activity(name, list){
this.name = name;
this.list = list;
}
var acts = new Array();
acts[0] = new Activity('빵', ['식빵', '호빵', '붕어빵']);
acts[1] = new Activity('고기', ['소고기', '돼지고기', '양고기','말고기']);
acts[2] = new Activity('야채', ['파', '당근', '무우','오이']);
function updateList(str){
var frm = document.myForm;
var oriLen = frm.myList.length;
var numActs;
for (var i = 0; i < acts.length; i++){
if (str == acts[i].name) {
numActs = acts[i].list.length;
for (var j = 0; j < numActs; j++)
frm.myList.options[j] = new Option(acts[i].list[j],
acts[i].list[j]);
for (var j = numActs; j < oriLen; j++)
frm.myList.options[numActs] = null;
}
}
}
</script>
</head>
<body>
<form name=myForm>
<B>선택 :</B>
<input type=radio name=rad value=빵 onClick="updateList(this.value)">빵
<input type=radio name=rad value=고기 onClick="updateList(this.value)">고기
<input type=radio name=rad value=야채 onClick="updateList(this.value)">야채
<select name=myList>
<option>-----------</option>
</select>
</form>
</body>
</html>
최강님 감사합니다. 아주 잘되네요.....
^^
^^
그런데, 빵에서 호빵을 선택 했을때 특정 함수를 불러서 다음 일을 처리 할려고 하면,
body의 셀렉트 부분에 onChange="change(this)" 이렇게 하면 되지 않나요 ?
물론 change() function은 스크립트로 따로 정의 하구요...
아래만 이렇게 바꿔 밨는데...change를 못불러요..
change()함수는
mylist 값이 1일때 2일때 3일때 각 조전에 맞는 일을 처리하도록 되어 있는거구요.
<form name=myForm>
<B>선택 :</B>
<input type=radio name=rad value=빵 onClick="updateList(this.value)">빵
<input type=radio name=rad value=고기 onClick="updateList(this.value)">고기
<input type=radio name=rad value=야채 onClick="updateList(this.value)">야채
<select name=myList onChange="change(this)">
<option>-----------</option>
</select>
</form>
body의 셀렉트 부분에 onChange="change(this)" 이렇게 하면 되지 않나요 ?
물론 change() function은 스크립트로 따로 정의 하구요...
아래만 이렇게 바꿔 밨는데...change를 못불러요..
change()함수는
mylist 값이 1일때 2일때 3일때 각 조전에 맞는 일을 처리하도록 되어 있는거구요.
<form name=myForm>
<B>선택 :</B>
<input type=radio name=rad value=빵 onClick="updateList(this.value)">빵
<input type=radio name=rad value=고기 onClick="updateList(this.value)">고기
<input type=radio name=rad value=야채 onClick="updateList(this.value)">야채
<select name=myList onChange="change(this)">
<option>-----------</option>
</select>
</form>