수정시 셀렉트가 초기화 됩니다. 채택완료
</p>
<p> </p>
<p><?php
$write['wr_1'] = $menu1;
?></p>
<p> <select name='wr_1' id='menu1' OnChange='javascript:getCataAllId(1)' required class="form-select">
<option value='<?=$write['wr_1']?>' <?=($write['wr_1']=='' )? 'selected':'';?>> 선택하세요 </option>
</select>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
4년 전
다른 옵션 부분이 javascript 로 채워지는것 같은데 그부분을 확인하셔야 할것 같네요
보내주신 소스로는 정확히 파악이 어렵습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
4년 전
댓글을 작성하려면 로그인이 필요합니다.
4년 전
다른 option 태그는 없는건가요?
위 코드만으로 봤을 때는 중간에 if문이 빠진 것 밖에 안보입니다.
</p>
<pre>
<code><?php
$write['wr_1'] = $menu1;
?>
<select name='wr_1' id='menu1' OnChange='javascript:getCataAllId(1)' required class="form-select">
<option value='<?=$write['wr_1']?>' <?php if($write['wr_1'] == '' )? 'selected':'';?>> 선택하세요 </option>
</select></code>
</pre>
<p><code>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택
OnChange='javascript:getCataAllId(1)' 이거인데요..
이 코드는 다른 테이블 불러와서 DB 연동한 다중 셀렉터 입니다.
[code]
<?php
$wr_1 = $menu1; $wr_2 = $menu2; $wr_subject = $menu3; $wr_4 = $menu4;
for ($i=0; $row = sql_fetch_array($result); $i++) {
$nm[$i] = $row['wr_1'].'|1|'.$row['wr_2'].'|2|'.$row['wr_subject'].'|3|'.$row['wr_4'].'|4|';
?>
<script type="text/javascript">
function getCataAllId(cmd){
cmd = eval(cmd);
cmd2 = cmd +1;
initCataID(cmd);
var ch = "";
for(var idx = 1; idx < cmd2; idx++){
ch = ch + eval("document.fwrite.menu"+idx+".value") + "|"+idx+"|";
}
var v = 0;
var temp = "";
var tempv = "";
var arg = "";
for(var m = 0; m < menuArr.length; m ++) {
arg = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|")) ;
temp = menuArr[m].substring(0, menuArr[m].indexOf("|"+cmd+"|")+3);
if(temp == ch && tempv != arg ){
v++;
eval("document.fwrite.menu"+cmd2+".length = document.fwrite.menu"+cmd2+".length + 1");
eval("document.fwrite.menu"+cmd2+".options["+v+"].value = arg ");
eval("document.fwrite.menu"+cmd2+".options["+v+"].text = arg ");
}
if(temp != ch){
tempv = "";
}else{
tempv = menuArr[m].substring(menuArr[m].indexOf("|"+cmd+"|")+3,menuArr[m].indexOf("|"+cmd2+"|"));
}
}
}
function initCataID(cmd){
cmd = eval(cmd);
if(cmd == 1){
document.fwrite.menu2.length = 1;
document.fwrite.menu3.length = 1;
document.fwrite.menu4.length = 1;
document.fwrite.menu2.selectedIndex = 0;
document.fwrite.menu3.selectedIndex = 0;
document.fwrite.menu4.selectedIndex = 0;
}
if(cmd == 2){
document.fwrite.menu3.length = 1;
document.fwrite.menu4.length = 1;
document.fwrite.menu3.selectedIndex = 0;
document.fwrite.menu4.selectedIndex = 0;
}
if(cmd == 3){
document.fwrite.menu4.length = 1;
document.fwrite.menu4.selectedIndex = 0;
}
}
</script>
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" role="form" class="form">
<select name='wr_1' id='menu1' OnChange='javascript:getCataAllId(1)' required class="form-select">
<option value='<?=$write['wr_1']?>' <?php if($write['wr_1'] == '' )? 'selected':'';?>> 선택하세요 </option>
</select>
.
.
.
.
.
</form>
<script type="text/javascript">
/* JSON encode, parse */
var stuff = <?php echo json_encode($nm); ?>;
var str = JSON.stringify(stuff);
var menuArr = new Array();
menuArr= JSON.parse(str);
var z1 = 0;
var temp1 = 0;
initCataID(1);
for(var m = 0; m < menuArr.length; m ++) {
if ( menuArr[m].substring(0, menuArr[m].indexOf("|1|")) != temp1 ){
document.fwrite.menu1.length = document.fwrite.menu1.length + 1;
document.fwrite.menu1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
document.fwrite.menu1.options[z1+1].text = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
temp1 = menuArr[m].substring(0, menuArr[m].indexOf("|1|"));
z1++;
}
/* index 1에 중복 제거입니다. */
}
function gotomenu()
{
location.href = '#';
}
</script>
[/code]
이겁니다.