0

私はすべてを試しましたが、それでも失敗します!このコードの何が問題になっていますか?!?!シリアル化されたソート可能ファイルを取得したかったのですが、それはとても単純ですが、SOを調べて、コードに適用されたスニペットを見つけましたが、それでも機能しません。それはまったく意味がありません。考えられるエラーを調べました(もちろん、jQuery docで指定されているset_numberがあります)...それでも何も機能しません。

 <html>
<body>
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.5.js'>
    </script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js">
    </script>
    <script>

$(function() {
    $( "#sortable" ).sortable();
    $( "#sortable" ).disableSelection();     
});

    $("form").submit(function(){         
    $('#thedata').val($( "#sortable" ).sortable("serialize"));
    return false;        
    });

    </script>
    <h1>
        Filters For Tables
    </h1>
    <h2>
        Filters for Assets
    </h2>
    <form action="validate.php" method="post">
        <input type='text' name='thedata' id='thedata' />
        <ul id="sortable">
            <li id="foo_0">ID</li>
            <li id="foo_1">TIME LOG</li>
            <li id="foo_2">DEVICE TYPE</li>
            <li id="foo_3">CHASSIS TYPE</li>
            <li id="foo_4">PARENT ID</li>
            <li id="foo_5">PARENT</li>              
        </ul>
        <input type="submit" name="submit" id="submit" value="Update" />
    </form>
</body>

 </html>
4

2 に答える 2

3

form要素は存在しません。DOMの準備ができたら、イベントをバインドする必要があります。これを動かすだけです:

$("form").submit(function(){         
    $('#thedata').val($( "#sortable" ).sortable("serialize"));
    return false;        
});

この関数へ:$(function(){}); DOMの読み込み時にJavaScriptが呼び出されるのでJSFiddleで動作すると思います。

于 2012-06-19T19:41:04.853 に答える
0

htmlから削除すると、私にとっては問題ないようです。 http://jsfiddle.net/Zfu6N/

有効なDoctypeを使用していないことに気づきました。例:

<!doctype html>

または例えば

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

これは、ブラウザをクァークズモードにする可能性があります。

それはあなたがあなたの例でそれを見逃しているという理由だけかもしれませんが、念のためです。

于 2012-06-19T15:46:27.310 に答える