특정 배열만 ajax 업데이트
본문
<input type="text" name="seller[]" id="seller_<?php echo $n-1; ?>" value="<?php echo $seller[$n-1];?>">
이렇구요,
var bo_table = $('#bo_table').val();
var wr_id = $('#wr_id').val();
var seller = $("#seller_<?php echo $n-1;?>").val();
$.ajax({
url: "<?php echo $board_skin_url?>/ajax.update.php",
type: "POST",
data: {
"bo_table": bo_table,
"wr_id": wr_id,
"seller": seller
},
dataType : "json",
cache: false,
error:function(){
alert("error");
},
success:function(data){
sql = data.sql;
}
});
업데이트는 이렇습니다.
$wr_id = $_POST['wr_id'];
$seller = implode('|', $_POST['seller']);
$sql = " update g5_write_test set
seller = '$seller' where wr_id = '$wr_id' ";
sql_query($sql);
문제는 인풋하고 업데이트 부분인거 같습니다.
도움을 기다려봅니다.
몇번째 배열을 수정할건지는 그때그때 정해지지 않았습니다.
거의 다된거 같은데 여기서 막히네요,
코드 500줄 줄일수 있는건데....
답변 3
seller필드에 대한 설명이 부족한데 ajax.update.php를 보아서는
seller 배열값을 합쳐서 넣은 것 같은데 특정 배열만 수정한다고 해도 배열값을 모두 넘기고 이것을 합쳐야 하는데 배열값 하나만 넘기면 안되죠
넘기기전에 모두 합쳐서 넘기세요
<input type="text" name="seller[]" class='sellerk'~~~<== 모두 class 부여
var seller = $("#seller_<?php echo $n-1;?>").val(); <== 삭제 후 다음코드를 이 자리에 추가
seller=deli='';
$(".sellerk").each(function(){
seller+= deli+$(this).val(); deli ='|';
});
------------------------------
$seller = implode('|', $_POST['seller']); <-- upate화일에서 삭제
몇번째 배열을 수정할건지 정해지지도 않았는데
어떻게 특정 배열만 ajax를 업데이트 할수있나요?
"특정 배열만" 이라고 한다면 해당 말씀하시는 "특정"이라는 조건이 반드시 필요합니다.
html이 어떻게 구성되어 있는지 몰라서 추측만 할 뿐입니다.
해당 input에서 커서가 아웃될 때 그것만 처리하면 되지 않을까요?
$("인풋.클래스").on("blur", function() {
$.ajax ~~~
});