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

· 2013-01-24 (목) 11:44:50 · 3585 · 5
[code]
<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 .= "   ";

$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 "  <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>
[/code]


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

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

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

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

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

좀 어찌해야할지 좀 도와주십시요.
[code]
<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>
[/code]
|

댓글 5개

<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>

스크립트를 요롷게 해도 되겠네요
2013-01-24 (목) 13:25:56
답변 감사드립니다~ 근데 저의 질문을 오해하신듯합니다. 옵션값을 늘린다는게 아니라. 저 셀렉트박스가 여러개로 늘어난다는것입니다.... 지금 알려주신건 옵션의 숫자가 많이늘어날때 간편하라고 만들어주신것같은데요? 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 하시면 됩니다
2013-02-13 (수) 10:23:33
답변 감사드립니다^^
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
13-01-24 조회 3,586
13-01-24 조회 1,607
13-01-24 조회 1,616
13-01-24 조회 1,202
13-01-24 조회 2,005
13-01-24 조회 937
13-01-24 조회 1,353
13-01-24 조회 891
13-01-23 조회 609
13-01-23 조회 847
13-01-23 조회 687
13-01-23 조회 617
13-01-23 조회 1,593
13-01-23 조회 1,698
13-01-23 조회 1,084
13-01-23 조회 2,249
13-01-23 조회 792
13-01-23 조회 671
13-01-23 조회 1,224
13-01-23 조회 1,056