자동완성기능 input 여러개일떄

자동완성기능 input 여러개일떄

QA

자동완성기능 input 여러개일떄

본문

자동완성기능을 여러팁과 구글링 등을 통해서 작업중인데요~

검색어로 사용할 input이 1개일때는 잘되는 소스가 많은데

이게 필드가 여러개일때는 어떻게 POST값으로 넘기고 데이터를 검색해서 연관짓는지

도저히 모르겠어서 질문드립니다.ㅠㅠ

 

검색어 DB로 활용할 특정게시판이 있고요

keyword라는 네임값을 가진 input에 검색어를 입력하면 매칭하게될 게시판 여분필드에서

값을 불러오는거거든요~

 

검색페이지


<script type="text/javascript">
                    $(function(){
                        $(document).on('focus.autocomplete keyup.autocomplete','.search_keyword',function(){
                            var index = $(".search_keyword").index( $(this) );
                            
                            $('.search_keyword').autocomplete({
                                source: function(request, response){
                                    $.ajax({
                                        url: "../search/search_data.php",
                                        dataType: "json",
                                        data: { term: request.term },
                                        success: function (data) {
                                            response(
                                                $.map(data, function(item) {
                                                    return {
                                                        value : item.keyword,
                                                        ko_name : item.ko_name,
                                                        en_name : item.en_name
                                                    }
                                                })
                                            );
                                        }
                                    });
                                },
                                select : function(event,ui){
                                    event.preventDefault();
                                    $(this).val(ui.item.ko_name);
                                    $(":input[name='ko_name[]']").eq(index).val(ui.item.ko_name);
                                    $(":input[name='en_name[]']").eq(index).val(ui.item.en_name);
                                    
                                },
                                focus: function (event, ui) {
                                    event.preventDefault();
                                },
                                width: 500,
                                multiple: false,
                                matchContains: true,
                                selectFirst : false,
                                scroll: true,
                                scrollHeight: 450
                            });
                        });
                        
                        
                    });
                    </script>
                    <input type="text" name="keyword[]" class="search_keyword" value="">
                    <input type="text" name="en_name[]" id="en_name">

 

 

 

search_data.php


<?php
include_once('./_common.php');
$keyword = $_POST['keyword'];
$sql = "select * from g5_write_테이블명 where wr_4 like '%".$keyword."%' group by wr_4 order by wr_4 asc ";
$result = sql_query($sql,true);
// value : 검색된 단어이며, input 값으로 넘어갑니다.
// label : 특정검색어를 입력시 자동완성 리스트로 표시됩니다. (다양하게 응용가능)
while($row=sql_fetch_array($result)) {
    $arr[] = array(
                "value"    => $row['wr_4'],
                "ko_name" => $row['wr_4'],
                "en_name" => $row['wr_subject']
                );
}
echo json_encode($arr);
?>

 

 

많은 분들의 조언부탁드립니다.ㅠㅠ

감사합니다.

이 질문에 댓글 쓰기 :

답변 1

음.. 일단은 wr_1 부터 wr_10까지? 그니까 여분필드가 10가지 있잖아요 그걸 이용해서 하면되는데 일단은 키워드 종류를 여분필드로 활용해서 for문 돌리고 해보시면 될것같아요 정보가 부족해서 뭐라 하긴 그렇네요..

답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT