배열로 저장된 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
<?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>
i가 0 부터 순서대로면
var pt_id = pt_li.find("input[name=pt_id[" + i + "]]").val();
로 하면 되지 않을까 싶습니다.
두 개라고 그러면
<input
name="pt_id[<?php echo $i; ?>]"
id="pt_id<?php echo $i; ?>"
$('#pt_id1').Val()
답변을 작성하시기 전에 로그인 해주세요.