select 값 중복체크 질문입니다.
본문
몇일동안 삽질 하다가 답을 못찾아 글올려봅니다.ㅜㅜ
아래의 table 에서 중복체크를 하고 싶습니다.
php 한개의 페이지에서 진행할려고 합니다.
select name part1_1, part1_2, part1_3 세문항에서 같은값을 중복 선택하지 않게 하고싶습니다.
또 select name part2_1, part2_2, part2_3 세문항에서 같은값을 중복 선택하지 않게 하고싶습니다.
<form name="test" method="post">
<table border="0" align="center">
<tr>
<td>선택1번
<select name="part1_1">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택2번
<select name="part1_2">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택3번
<select name="part1_3">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
</tr>
<tr>
<td>선택2-1번
<select name="part2_1">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택2-2번
<select name="part2_2">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택3-3번
<select name="part2_3">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
</tr>
</table>
</form>
아래의 table 에서 중복체크를 하고 싶습니다.
php 한개의 페이지에서 진행할려고 합니다.
select name part1_1, part1_2, part1_3 세문항에서 같은값을 중복 선택하지 않게 하고싶습니다.
또 select name part2_1, part2_2, part2_3 세문항에서 같은값을 중복 선택하지 않게 하고싶습니다.
<form name="test" method="post">
<table border="0" align="center">
<tr>
<td>선택1번
<select name="part1_1">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택2번
<select name="part1_2">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택3번
<select name="part1_3">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
</tr>
<tr>
<td>선택2-1번
<select name="part2_1">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택2-2번
<select name="part2_2">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
<td>선택3-3번
<select name="part2_3">
<option value="--">--
<option value="1">1
<option value="2">2
<option value="3">3
</select></td>
</tr>
</table>
</form>
답변 1
var select1 = [
{value:'--', selected: false},
{value: 1 , selected: false},
{value: 2, selected: false},
{value: 3, selected: false}
];
function addOptions( to, select1) {
var len = select1.length;
var $select = $(to);
for(var i=0; i<len, i++) {
if (!select1.selected ) {
$select 에 select1[i] 의 value를 추가
}
}
}
1. 변수 하나를 위와 같이 선언하시고, 사용할 옵션을 기록.
2. function addOptions를 사용하여 선택1 ~ 3 요소에 옵션 엘리먼트를 추가함
3. 선택1~3중에서 하나를 선택하면 해당 옵션 selected = true;로 변경
4. function addOptions를 사용하여 그 이외 선택들의 옵션을 지우고 다시 추가함.
--> 이렇게 되면 각각의 사용된 것은 다른 선택에서 옵션으로 나타나지 않을 것 입니다.
답변을 작성하시기 전에 로그인 해주세요.