3단 셀렉트값 db의 value값 자동 선택되기.. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

3단 셀렉트값 db의 value값 자동 선택되기.. 정보

3단 셀렉트값 db의 value값 자동 선택되기..

본문


 <select name="ca_id" onchange="categoryCH(this.form)">
            <option value="">카테고리
            <?
            $script = "";
            $sql = " select * from $g4[category_table] ";
            $sql .= " order by ca_id ";
            $result = sql_query($sql);
            for ($i=0; $row=sql_fetch_array($result); $i++)
            {
				
                $len = strlen($row[ca_id]) / 2 - 1;

                $nbsp = "";
                for ($i=0; $i<$len; $i++)
                    $nbsp .= "&nbsp;&nbsp;&nbsp;";

                $str = "<option value='$row[ca_id]'>$nbsp$row[ca_name]\n";
                $category_select .= $str;
                echo $str;

            }
            ?>
        </select>
        <script> document.fitemform.ca_id.value = '<?=$it[ca_id]?>'; </script>
 <? if ($w == "") { ?>
            <?=help("기본분류를 선택");?>
        <? } ?>
        <?
        for ($i=2; $i<=3; $i++)
        {
            echo "&nbsp; <select name='ca_id{$i}'><option value=''>= {$i}차 분류 ={$category_select}</select>\n";
            echo "<script> document.fitemform.ca_id{$i}.value = '".$it["ca_id{$i}"]."'; </script>\n";
        }
        ?>   




function categoryCH(f)
{
    var idx = f.ca_id.value;

}

categoryCH(document.fitemform);

</script>



카테고리 자동선택은 위와같은데요..

제가 각 아이템마다 별도의 필드를 추가하여 해당 값을 자동 셀렉트되게 하고싶습니다.

아이템 테이블 g4_item에서 해당 필드를 읽어와서 아래와같이 한개일때는 괜찮은데.

셀렉트할게 많아졌습니다. 다수... 아래와같이하려니 속도도 그렇고 여러모로 힘들거같아서

카테고리 선택처럼 for문으로 돌리는 형식으로 하고싶습니다..

좀 어찌해야할지 좀 도와주십시요.

<select id=it_site name='it_site'>
<option value=""<?php if ($it[it_site]=='') { ?>selected='selected'<?php } ?>>선택하세요</option>
<option value="sir"<?php if ($it[it_site]=='1') { ?>selected='selected'<?php } ?>>sir</option>
<option value="naver"<?php if ($it[it_site]=='2') { ?>selected='selected'<?php } ?>>naver</option>                                                                        				</select>	
  • 복사

댓글 전체

<select id=it_site name='it_site'>
<option value="" data-site="">선택하세요</option>
<option value="sir" data-site="1">sir</option>
<option value="naver" data-site="2">naver</option>
</select>

<script type="text/javascript">
$('#it_site').find('option').each(function() {
if($(this).attr('data-site') == '<?=$it['it_site']?>') $(this).attr('selected', 'selected');
});
</script>

option 필드에 아무 field (위 예제에서는 'data-site') 를 추가해놓고 자바스크립트(jquery)로 선택하도록 할 수 있겠네요
음.. 또는 더 간단하게

<script type="text/javascript">
$('#it_site option[data-site=<?=$it['it_site']?>]').attr('selected', 'selected');
</script>

스크립트를 요롷게 해도 되겠네요
답변 감사드립니다~ 근데 저의 질문을 오해하신듯합니다. 옵션값을 늘린다는게 아니라. 저 셀렉트박스가 여러개로 늘어난다는것입니다.... 지금 알려주신건 옵션의 숫자가 많이늘어날때 간편하라고 만들어주신것같은데요? it_site , it_url, it_kind 머이런식으로 각 테이블안에 필드를 추가하여 데이터를 써주려합니다. 이걸 3개의 필드값을 for문으로 돌려서 세개의 셀렉트에 자동으로 선택되게 해주려는것이지요...
<script type="text/javascript">
$('#it_site option[data-site=<?=$it['it_site']?>]').attr('selected', 'selected');
$('#it_url option[data-url=<?=$it['it_url']?>]').attr('selected', 'selected');
$('#it_kind option[data-kind=<?=$it['it_kind']?>]').attr('selected', 'selected');
</script>

요롷게 하시면 되죠.. select 개수가 늘어난다고 문제가 될건 없습니다

각 select 의 option 에 원하는 필드데이터 셋팅해놓고
js 로 각각 selected 하시면 됩니다
© SIRSOFT
현재 페이지 제일 처음으로