스크립트 질문 채택완료

    function inputTagList(){
        var linCnt = $(".tagListIpt ul li.tag").length;
        var tag = '';
        for(var i=0; i<linCnt; i++){
            var j = i+1;
            if(!tag){
                tag = $(".tagListIpt ul li:nth-child("+j+") span").html();
            }else{
                tag += ','+$(".tagListIpt ul li:nth-child("+j+") span").html();
            }
        }
        tag = tag.replace(" ", "");
        console.log('after replace : '+tag);
        $("#it_7").val(tag);
    }

 

이 스크립트가요

 

.tagListIpt ul li.tag를 배열화 시켜서

 

내용이 있을 경우 내용, 내용, 내용 이렇게 만든 후

 

빈 문자열 제거하고 #it_7에 value 값으로 넣어준다 이게 맞나요? 

답변 1개

채택된 답변
+20 포인트

Copy
function inputTagList(){

// ".tagListIpt ul li.tag" 엘리먼트 개수를 가져옵니다.
var linCnt = $(".tagListIpt ul li.tag").length;

// 빈 변수
var tag = '';

 

// 위에서 가져온 개수("linCnt") 변수만큼 반복합니다.
for(var i=0; i<linCnt; i++){

  // 반복문이 돌때 j의 값을 1씩 증가시킵니다.

  var j = i+1;

  
  if(!tag){ // 변수 "tag"의 값이 있으면

    // 초기에 "tag"의 값이 없기 때문에 가장 처음 루프는 여기를 타게 됩니다.
    tag = $(".tagListIpt ul li:nth-child("+j+") span").html();
  }else{ // 위의 변수 "tag"의 값이 없으면

    // 두번째 반복문 부터는 여기를 타게 됩니다.
    tag += ','+$(".tagListIpt ul li:nth-child("+j+") span").html();
  }
}

 

// 위에서 반복문으로 가져온 태그안의 값에 공백을 제거합니다.
tag = tag.replace(" ", "");

// 콘솔에 출력
console.log('after replace : '+tag);

// "#it_7" 엘리먼트의 값을 위에서 반복한 "tag" 변수를 넣습니다.
$("#it_7").val(tag);
}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 11개

와 친절한 주석 너무 감사합니다 ㅠㅠ

내용은 맞는거 같은데 왜 저장시 값이 안나오는지 참 ㅠㅠ
디비에 저장은 되시나요?
DB에 강제삽입 했을 경우에는 저장이 되어 있다고 나옵니다.

근데 입력폼으로는 저장이 DB에 되질 않아요

임의값 DB에 강제삽입 후 입력폼에 다른 임의값을 넣고 저장시켜보면

삽입된 내용이 지워져버려서 값이 없어집니다

그래서 이 부분에서 뭔가 잘못된거 아닌가 생각했는데
https://sir.kr/qa/378877
기존에 강제로 넣은 값이 디비 저장시 사라지게 된다면,
음... 보통 DB에서 오류나면 이후 처리는 안되는게 정상이니
백단으로 넘어갈때 빈값으로 가는건 아닌가요?
"itemformupdate.php" 여기서 넘어온값 받으실때
[code]
$VALUE = $_GET["it_7"]; // 혹은 $_POST["it_7"]
echo $VALUE;
exit;
[/code]
대략 이런식으로 해서 값 넘어오는지요?
그래서 빈값으로 넘어가서 저장되는거 같아서

이 부분 질문을 드린건데 문제가 없는 것 같아요 이 소스는

다른 부분은 저장과 관련된 부분이 없는 것 같아서요 ㅠㅠ

itemformupdate.php 부분에는

여분필드 이용했기 때문에 수정될 부분이 없는 것 같고

이게 원래 게시판 쪽에서 가져온건데 거기서도 update 부분은 수정 없었거든요
$sql_common = " ca_id = '$ca_id',
ca_id2 = '$ca_id2',
중략
it_7 = '$it_7',
it_8 = '$it_8',
it_9 = '$it_9',
it_10 = '$it_10'
";

if ($w == "")
{
$it_id = $_POST['it_id'];

if (!trim($it_id)) {
alert('상품 코드가 없으므로 상품을 추가하실 수 없습니다.');
}

$t_it_id = preg_replace("/[A-Za-z0-9\-_]/", "", $it_id);
if($t_it_id)
alert('상품 코드는 영문자, 숫자, -, _ 만 사용할 수 있습니다.');

$sql_common .= " , it_time = '".G5_TIME_YMDHIS."' ";
$sql_common .= " , it_update_time = '".G5_TIME_YMDHIS."' ";
$sql = " insert {$g5['g5_shop_item_table']}
set it_id = '$it_id',
$sql_common ";
sql_query($sql);
}
else if ($w == "u")
{
$sql_common .= " , it_update_time = '".G5_TIME_YMDHIS."' ";
$sql = " update {$g5['g5_shop_item_table']}
set $sql_common
where it_id = '$it_id' ";
sql_query($sql);
}

이게 update 부분인거 같아요
디비쪽 여분필드 타입한번 확인해보셔야 할것 같고,
HTML 태그 그대로 저장되는게 문제 일 수 있으니 이 부분 확인해보셔야 할듯요.

임의로 HTML 태그 없이 값을 넘겨서 저장되는지 해보세용.
타입은 varchar(255)구요

지금 html태그가 저장되게 되어 있나요?

값,값,값 이런게 아니라

<span>값</span> 이렇게 저장되게 되어 있나요?
DB에 강제삽입으로 test,test2 입력시

http://debien04.cafe24.com/1111.jpg

이렇게 잘 나옵니다
html() 라서 태그도 가져올것 같은데, 인풋에 값 어떻게 들어가는지 보면 될것 같습니다.
text() 쓰시면 될것 같습니다.

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

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

로그인
🐛 버그신고