select 박스 선택이 되지 않음 채택완료
안녕하세요!! 궁금한게 있어서 질문드릴려고 합니다!!
제가 ajax로 데이터를 보내서 쿼리문에 입력을 하고
</p>
<p> $sql = " select '".$studentName."%' from student_class " ;</p>
<p> </p>
<p> $result = sql_query($sql);</p>
<p> </p>
<p> </p>
<p> for($i=0; $row=sql_fetch_array($result); $i++){</p>
<p> $selectoption[] = $row['STUDENT_NAME'];</p>
<p> ?></p>
<p> <option><?php echo $selectoption[$i]?></option></p>
<p> <?php</p>
<p> }</p>
<p>
이런식으로 값을 불러와서 select 박스에 옵션을 넣으려고 하는데 값은 select 박스 안으로 들어오는데 옵션들을 선택해도 계속 맨 위의 값만 선택이 되고 바뀌질 않습니다!!ㅠㅠㅠㅠ
도대체 무엇이 문제인지 몰라서 이렇게 질문글 남깁니다. 고수님들 도와주세요!!
답변 3개
소스를 적용해서 해보려고 하는데
코드가 좀 이상하네요
우선 하실려는 처리가
. 학생명 입력시 해당 학생명 을 포함한 결과를 가져와서 select 로 뿌려주려는 것이 맞나요 ?
위 내용이 맞다면
. 학생이름을 넣는 입력칸이 별도로 있어야 하고 selectbox 도 별도로 있어야합니다
. 지금 코드는 selectbox 의 값을 가져와서 그걸 그대로 ajax 처리해서 option 출력하는 건데
이건 의미가 없을꺼 같고요
</p>
<p><script>
function calculateStudent(){</p>
<p> $.ajax({
url : "./data_calculate.php",
type : "post",
data : {
studentName : $('#studentName').val()
},
success : function(res) {
$("#studentselect").html(res);
},
error : function(err){
alert(err);
}
});
}
</script>
<input type="text" id="studentName" name="studentName" ><button value="검색" onclick="calculateStudent();"> 검색</button></p>
<p><select id="studentselect" name="studentselect" class="frm_input">
</select></p>
<p>
이런식으로 하시고
</p>
<p><?php
include_once('./_common.php');</p>
<p>$studentName = $_POST['studentName'];</p>
<p>
$sql = " select * from student_class where studentName LIKE '".$studentName."%' " ;</p>
<p> $result = sql_query($sql);
</p>
<p> for($i=0; $row=sql_fetch_array($result); $i++){
$selectoption = trim($row['studentName']);
?>
<option value="<?php echo $selectoption?>" <?php echo ($studentName == $selectoption) ? " selected" : "";?>><?php echo $selectoption?></option>
<?php
}</p>
<p>?>
코드 쪽에선 위처럼 해주시면 됩니다</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
<script>
function calculateStudent(e){
$.ajax({
url : " http://localhost/bbs/dataloader/data_calculate.php",
type : "post",
data : {
studentName : $('#studentName').val()
},
success : function(res) {
$("#"+e.id+"").html(res);
console.log(res)
},
error : function(err){
alert(err);
}
});
}
</script>
<select id="studentName" onclick="calculateStudent(this)" class="frm_input">
#data_calculate.php
<?php
include_once('./_common.php');
$studentName = $_POST['studentName'];
$sql = " select * from student_class where studentName LIKE '".$studentName."%' " ;
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++){
$selectoption[] = trim($row['studentName']);
?>
<option value="<?php echo $selectoption[$i]?>" <?php echo ($write['studentName'] == $selectoption) ? " selected" : "";?>><?php echo $selectoption[$i]?></option>
<?php
}
[/code]
이런 틀을 가지고 동작하는 거에요 아직 적용되어 있는 주소가 없어서요!!
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p> $sql = " select '".$studentName."%' from student_class " ;
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++){
?>
<option value="고유값"><?php echo $row['STUDENT_NAME']?></option>
<?php
}</p>
<p>
1. option value 안에 고유값을 넣어주세요
2. 반복문인데 [] <= 배열에 담았다 출력하실 필요없이 바로 echo 해주시면 됩니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
<script>
function calculateStudent(e){
$.ajax({
url : " http://localhost/bbs/dataloader/data_calculate.php",
type : "post",
data : {
studentName : $('#studentName').val()
},
success : function(res) {
$("#"+e.id+"").html(res);
console.log(res)
},
error : function(err){
alert(err);
}
});
}
</script>
<select id="studentName" onclick="calculateStudent(this)" class="frm_input">
#data_calculate.php
<?php
include_once('./_common.php');
$studentName = $_POST['studentName'];
$sql = " select * from student_class where studentName LIKE '".$studentName."%' " ;
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++){
$selectoption[] = trim($row['studentName']);
?>
<option value="<?php echo $selectoption[$i]?>" <?php echo ($write['studentName'] == $selectoption) ? " selected" : "";?>><?php echo $selectoption[$i]?></option>
<?php
}
[/code]