我会知道如何在js中增加一个值。
我有这个
我的循环
<ul class="row list-unstyled" id="list">
<?php
$i = 0;
while ($QoptionValue->fetch()) {
}
?>
</ul>
添加新卡
<?php
$card = '<li class="col-md-4" id="elementID' . $i . '">';
$card .= '<div>';
for ($l=0, $n=count($languages); $l<$n; $l++) {
$card .= Language->getImage($languages[$l]['code']) . ' ' . HTML::inputField('option_value[' . $i . '][option_value_description][name][' . $l . ']', $options_name) . '<br />';
$card .= HTML::hiddenField('option_value[' . $i . '][option_value_description][language_id][' . $l . ']', $options_name);
}
$card .= '</div>';
$card .= '</li>';
?>
js,我添加了var element
,但没有考虑
<script>
var element = <?php echo $i; ?>
$('#insert').click(function(){
var str = <?php echo json_encode($card); ?>;
// do the string replace
var str = str.replace(/elementID/g, 'element'+element);
$( "ul#list" ).append(str);
// increment the element ID
element++;
});
</script>
<script type="text/javascript">
$('.close').click(function(){
var $target = $(this).parents('li');
$target.hide('slow', function(){ $target.remove(); });
})
</script>
答案 0 :(得分:0)
答案 1 :(得分:0)
我不知道PHP如何工作,但是element++
应该位于点击回调中。
$('#insert').click(function(){
$( "ul#list" ).append(<?php echo json_encode($card); ?>);
element++;
});
答案 2 :(得分:0)
您可以先在id上的javascript中执行str.replace,然后再将其附加到列表中。
将PHP中的元素设置为可以替换的字符串,例如elementID
<?php
$card = '<li class="col-md-4" id="elementID">';
....
$card .= '</li>';
?>
在javascript中,用递增的元素ID替换元素ID
<script>
var element = <?php echo $i; ?>
$('#insert').click(function(){
var str = <?php echo json_encode($card); ?>;
// do the string replace
var str = str.replace(/elementID/g, 'element'+element);
$( "ul#list" ).append(str);
// increment the element ID
element++;
});
</script>