테스트 사이트 - 개발 중인 베타 버전입니다

select2 를 사용해서 셀렉트박스를 만들었는데 form submit시 배열로 보내고 싶어요 채택완료

라균 2년 전 조회 2,243

https://select2.org/

 

select2를 사용해서 화면은 만들었습니다.

 

<select name="sch_g_idx"></select>

 

</p>

<p>$('select[name=sch_g_idx]').select2({

ajax: {

url: 'proc_new.php',

type: "POST",

delay: 250,

data: function (params) {

const query = {

proc_mode: 'get_gym',

search: params.term || '',</p>

<p>type: 'public'

}

console.log(query);



// Query parameters will be ?search=[term]&type=public

return query;

},

processResults: function (result) {

const data = JSON.parse(result).data;

// console.log(result)



// Transforms the top-level key of the response object from 'items' to 'results'

let results = data.map((item) => {

return {

id: item.g_idx

, text: item.g_name

}

});

return {

results: results

};

}

}

});</p>

<p>

 

 제가 원하는 데이터를 검색 후 선택할 수 있도록 개발은 되어있고, 다른페이지에서도 잘 사용중입니다

 

새로 만드는 페이지에서는 sch_g_idx 가 n개 들어갈 상황이여서 2개 생성 후 보내니 배열 형태가 아니여서 마지막선택된 값만 보내지고 있습니다.

 

<form onsubmit="return form_info_submit(this);">

폼이 보내지기 전 onsubmit에서 값을 찾아서 새로 넣어주려고도 했으나

$("select[name=sch_g_idx]:checked").val()

jqurey문법이 틀렸는지 값이 나오지 않네요

 

배열로 보내거나, onsubmit에서 값들을 찾아 form내부에 새로 생성하고 싶어요

 

도와주세요~

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
m
2년 전

<select name="sch_g_idx"> 을 

<select name="sch_g_idx[]"> 로 해보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

라균
2년 전
그렇게 되면 select2가 적용이 안되더라구요
caught Error: Syntax error, unrecognized expression: select[name=sch_g_idx[]]
신택스 에러가 나와요
라균
2년 전
$('select[name=sch_g_idx[]]').select2({ 이렇게 수정했었어요
m
myzone
2년 전
$('select[name=sch_g_idx[]]').select2({
=>
$('select[name="sch_g_idx[]"]').select2({

댓글을 작성하려면 로그인이 필요합니다.

2년 전

</p>

<p><?php

if (empty($_REQUEST) == false) {

    print_r($_REQUEST);

}

?></p>

<p><style>

select[name="sch_g_idx[]"] {

    width: 50%;

    display: block;

}

</style>

<script src="<a href="http://code.jquery.com/jquery-latest.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery-latest.min.js"></script></a></p>

<p><link href="<a href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"" target="_blank" rel="noopener noreferrer">https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"</a> rel="stylesheet" />

<script src="<a href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>" target="_blank" rel="noopener noreferrer">https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script></a>

<script>

$(function () {</p>

<p>$('select[name="sch_g_idx[]"]').select2({

ajax: {

url: 'proc_new.php',

type: "POST",

delay: 250,

data: function (params) {

const query = {

proc_mode: 'get_gym',

search: params.term || '',

type: 'public'

}

console.log(query);

// Query parameters will be ?search=[term]&type=public

return query;

},

processResults: function (result) {

const data = JSON.parse(result).data;

// console.log(result)

// Transforms the top-level key of the response object from 'items' to 'results'

let results = data.map((item) => {

return {

id: item.g_idx

, text: item.g_name

}

});

return {

results: results

};

}

}

});</p>

<p>});</p>

<p>function form_info_submit(frm) {

    return true;

}

</script></p>

<p><form onsubmit="return form_info_submit(this);">

<select name="sch_g_idx[]" multiple="multiple"></select>

<input type="submit" />

</form></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인