0

foreachループ(php)があり、jqueryでそれぞれのデータを投稿したいと思います$value
変数 var description = $('#<?php echo $value;?>').val();
を作成alert(description);して正常に動作する場合、変数内で使用しようとすると $.ajax({.... });
、最初の値のみが表示されます。

なんで?

コード:

$('#edit_<?php echo $bid;?>').click(function(){
<?php 
foreach($Languages as $key => $value){  
?>
        var description = $('#<?php echo $value;?>').val();
        alert(''+description+' - <?php echo $value;?>'); // <-- HERE ir alerts the right value 
        $.ajax({
            url: "sqlx.php",
            data: "description="+ description +"&file=<?php echo $image; ?>&client=<?php echo $client; ?>&kategory=<?php echo $xkatid; ?>&language=<?php echo $value;?>", // <-- in this line it sends only first $value
            type: "post",
            success: function(){
                $('#ok<?php echo $bid;?>').fadeIn(100);
                $('#ok<?php echo $bid;?>').fadeOut(1000);
                window.setTimeout(function() {
                $(".xclose<?php echo $bid;?>").trigger('click');
                }, 800);

            }
        });
<?php } ?>
return false;
    }); 
4

2 に答える 2

0

すべてのphp変数をjavascript変数に入れて、phpに同じjavascriptを何度も生成させるのではなく、javascriptでループさせます。

于 2012-08-17T13:21:12.820 に答える
0

サーバー側でループしている場合は、var 定義が重複してdescriptionいます (for )。javascript でループを実行することをお勧めします。

  var bid = <? echo json_encode($bid);?>;
  var server_data = <? echo json_encode($Languages);?>;
  $("#edit_"+bid).click(function(){
      for(var i in server_data){
          var value = server_data[i];
          //here your ajax code enters while you have value and bid variables in the javascript
      }
  });

編集: などの変数もあることに気付きimageました$client- 同じ方法を適用し、最初に値を javascript vars として配置し、次にそれらを javascript 内で使用する必要があります。

于 2012-08-17T13:24:25.333 に答える