0

現在、jQuery スクリプトから PHP スクリプトに変数を渡すことができません。これにより、ループを何回使用する必要があるかを知ることができます。PHPスクリプトに投稿する必要があるjQueryにカウント変数がありますが、その方法がわかりません。

これらの変数の両方を取得できますが、$_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>「skill-」フィールドの を生成しているようです。おそらく、「count」もそこに隠された INPUT である必要があります。

<FORM>AJAX POST にそのデータがあると予想される場合は、これらすべての INPUT を含む をシリアル化するべきではありませんか? それ以外の場合は、実際にカウントされたデータ フィールドではなく、「カウント」を送信するだけです。

動的に生成されたものがどこに追加されるかを明確にするには、HTML の実際の具体的な構造が少なすぎます。または、要素がどこに移動する必要があるかを理解するのに苦労します。

書く。クリア。単純。コード。

のようなものを使用<div id='skillDiv'>し、要素を構築してから (1 か所で) を使用しappendTo('#skillDiv')ます。

驚くほど明確なので、人々はあなたのコードを読んだり、デバッグしたり、フォローしたりすることさえできます。

于 2013-08-06T02:28:37.500 に答える