1

私はmysqlからデータを受信する際の問題を解決しました。それらはフォーム(23、34、65、67 ...など)で表示されますが、$ .each()関数を使用することで新しい問題が発生しました。 2,3,3,4 のような 1 桁の数字、代わりに 23,34... など、$.each() 関数を使用して 2 桁の数字でデータをスライスするにはどうすればよいですか??

$("#add").click(function()
{
    $.ajax({
        type: "POST",
        url: "ajax.php",
        data: "buttons="+ tab_of_button,
        success: function(){
            $('div.success').fadeIn();

            $.get("sendback.php",function(data)
            {

                 $.each(data, function(index, value)
                 {
                     alert(value);

                 });
            });
        }
    });
    return false;
}

sendback.php

<?php

$ask = mysql_query("SELECT numbers FROM buttons");
if(!$ask)
{
    die('Incorrect ask'.mysql_error());
}
else{
    while ($row = mysql_fetch_assoc($ask)) 
    {

        $tab[] = $row['number'];
        foreach($tab as $buttons)
        {
            echo $buttons;

        }

    }
    mysql_free_result($ask);

}
?>

html

<html>
<body>
.
.
.
<ul id="_button">
<li id="01" >01</li>
<li id="02" >02</li>
<li id="03" >03</li>
<li id="04" >04</li>
<li id="05" >05</li>
<li id="06" >06</li>
.
.
.
<li id="40" >40</li>
</ul>
</body>
</html>
4

3 に答える 3

1

php ファイルの出力を修正する必要があります。これで (数値の) 文字列が得られた場合、クライアントでできることは、各文字を個別に解析するか、文字列全体を解析することだけです。

これにより json 配列が得られるため、クライアントで各要素を取得できます。

$tab = array();
while ($row = mysql_fetch_assoc($ask)) 
{

    $tab[] = $row['number'];
}
echo json_encode($tab);
于 2012-07-29T07:43:39.550 に答える
0

パラメータ名が引用符で囲まれているため、ajax呼び出しから返されたデータを使用していないようです。これを変更してみることができます:

$('#_button').children().each(function() {
    $(this).find('data').css("background","grey");
    $(this).find('data').attr("disabled",true); 
});

これに:

$('#_button').children().each(function() {
    $(this).find(data).css("background","grey");
    $(this).find(data).attr("disabled",true); 
});
于 2012-07-19T03:44:17.647 に答える