0

我目前无法将 jQuery 脚本中的变量传递给 PHP 脚本,这将使我知道我必须使用循环多少次。我在 jQuery 中有 count 变量,我需要将其发布到 PHP 脚本,但不确定如何执行。

我能够获得这两个变量$_POST['skill-'.$i.'']&$_POST['amount-'.$i.'']但这只是传递变量的问题count定义了我必须循环遍历这些变量的次数:

jQuery:

$.fn.addSlide = function () {
return this.each(function () {
    var $this = $(this),
        $num = $('.slide').length++,
        $name = $('<input type="text" class="textbox" name="skill-' + $num + '" placeholder="What\'s your skill?"></div>'),
        $slide = $('<div class="slide" id="slider-' + $num + '"></div>'),
        $amt = $('<input name="amount-' + $num + '" id="amount-' + $num + '" readonly placeholder="0"/><br>');
    $this.append($name).append($slide).append($amt);
    $slide.slider({
        value: 0,
        min: 0,
        max: 5,
        step: 1,
        slide: function (event, ui) {
            $amt.val("" + ui.value);
        }
    });
});
}

$('body').on('click', '.addNew', function(event) {
event.preventDefault();
$('#container').addSlide();
}); 

var count = 0;

$(document).ready(function(){   
$('.addNew').click( function(event){
    event.preventDefault();
    $('#length').html(count);       
    count++;
});

$('.save').click( function(event){
    event.preventDefault();
    $.post("file.php", { data: count } );   
});

});

PHP:

$i = 0;

while($_POST['count'] >= $i){
    echo $_POST['skill-'.$i.''];
    echo $_POST['amount-'.$i.'']."<br><br>";

    $i++;
}
4

1 回答 1

0

您似乎正在<INPUT>为您的“技能”领域生成 s。也许“计数”也应该是一个隐藏的输入。

<FORM>如果您希望在 AJAX POST 中包含该数据,您不应该也序列化包含所有这些 INPUT 的数据吗?否则,您只是发送“计数”,而不是实际计数的数据字段。

您的 HTML 中的实际具体结构太少,无法清楚地将动态生成的内容附加到何处;或者让我费心弄清楚元素应该去哪里。

写。清除。简单的。代码。

使用类似的东西<div id='skillDiv'>,建立你的元素,然后(在一个地方)appendTo('#skillDiv')

非常清晰,人们甚至可以阅读、调试和遵循您的代码。

于 2013-08-06T02:28:37.500 回答