배열로 저장된 input 값가져오기 어떻게 하나요? 조언구함니다. 채택완료

안녕하세요

 

<input type="hidden" name="pt_id[<?php echo $i; ?>]" value="<?php echo $srow['pt_id'] ?>">

 

 

위내용을 가정했을때

 

var $pt = $('.shops_wrap ');

var pt_li = $pt.find("li.pt_li > .each_shop_total")

var pt_cnt = pt_li.find("input[name^=pt_id]").length;  // 갯수가 2개

 

for(var i=0; i<pt_cnt; i++){

var pt_id = pt_li.find("input[name=pt_id]").val();

console.log(pt_id);

}

 

pt_id 값을 가져올려고 합니다.

고수님들 조언 구함니다.

 

 

답변 3개

채택된 답변
+20 포인트

Copy
<?php
$row = [
    ['pt_id' => 'a'],
    ['pt_id' => 'b'],
    ['pt_id' => 'c'],
    ['pt_id' => 'd'],
    ['pt_id' => 'e'],
];
?>

<div class="shops_wrap">
    <ul>
        <li class="pt_li">
            <div class="each_shop_total">
<?php
for ($i = 0, $i_cnt = count($row); $i < $i_cnt; $i++) {
    $srow = $row[$i];
?>
<input type="hidden" name="pt_id[<?php echo $i; ?>]" value="<?php echo $srow['pt_id'] ?>">
<?php
}
?>
            </div>
        </li>
    </ul>
</div>

<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script>
var $pt = $('.shops_wrap ');
var pt_li = $pt.find("li.pt_li > .each_shop_total")

// var pt_cnt = pt_li.find("input[name^=pt_id]").length;  // 갯수가 2개

 

// for(var i=0; i<pt_cnt; i++){

// var pt_id = pt_li.find("input[name=pt_id]").val();

// console.log(pt_id);

// }

pt_li.find("input[name^=pt_id]").each(function (i, el) {
    console.log(el.name + ': ' + el.value);
});
</script>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변감사합니다.

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

두 개라고 그러면

<input

 name="pt_id[<?php echo $i; ?>]" 

  id="pt_id<?php echo $i; ?>"

 

 $('#pt_id1').Val()

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

답변에 대한 댓글 1개

답변감사합니다.

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

i가 0 부터 순서대로면 

var pt_id = pt_li.find("input[name=pt_id[" + i + "]]").val();

로 하면 되지 않을까 싶습니다.

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

답변에 대한 댓글 1개

답변감사합니다. ^^

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

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

로그인
🐛 버그신고