2012-06-14 112 views
0

我試過了一切,但仍然失敗!這段代碼有什麼問題?!?!我想獲得序列化的排序,這很簡單,但我已經看過,並發現片段..應用與我的代碼,它仍然無法正常工作。這根本沒有意義。我確實看過可能的錯誤(是的,有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> 
+0

什麼?!?!無解決方案? – netrox

+0

那麼究竟是不是工作 - http://jsfiddle.net/LD5dZ/? –

+0

我也做了一個小提琴,爲我工作。你確定問題是這個代碼嗎? – Fewfre

回答

3

表單元素不存在。 DOM準備就緒時必須綁定事件。只需移動它:

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

對此函數:$(function(){}); 它適用於JSFiddle,因爲當我裝入DOM時調用JavaScript。

+0

這解決了我的問題!謝謝,Drahomir! :) – netrox

+0

剛剛發現了同樣的想法,好工作@Drahomir。我想也許它適用於js小提琴,因爲它默認會自動將所有內容都包裝在文檔ready()中。 –

0

似乎對我來說很好,當從HTML中剝離。

<!doctype html> 

或例如: http://jsfiddle.net/Zfu6N/

我沒有使用一個有效的doctype e.g注意到

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

這可能是瀏覽器進入怪癖模式。

這可能只是因爲你在你的例子中錯過了它,但以防萬一。

+0

不,不起作用。 :/ – netrox