2012-06-21 7 views
13

सॉर्ट करने योग्य फ़ंक्शन में खींचा जाने पर तालिका पंक्तियों का यह मुद्दा मुझे लंबे समय तक परेशान करता है। कोई उत्तर? (क्यू & ए)jQueryUI तालिका पंक्तियों पर क्रमबद्ध करने पर उन्हें छिड़काया जाता है

पीएस टेबल पर काम करने के क्रमबद्ध करने के लिए आपको टेबल पंक्तियों के आस-पास TBODY का उपयोग करना होगा, जिसे आप सॉर्ट करना चाहते हैं और फिर युक्त TBODY पर क्रमबद्ध फ़ंक्शन को कॉल करें।

उत्तर

12

आपको बस इतना करना है कि तालिका कक्षों में विशिष्ट पिक्सेल वाली चौड़ाई दें। तालिका कक्षों की सामग्री को जानने के बिना हम इसे कैसे कर सकते हैं? सरल:

$(document).ready(function(){ 
    $('td').each(function(){ 
     $(this).css('width', $(this).width() +'px'); 
    }); 
}); 
+0

धन्यवाद। यह बूटस्ट्रैप के साथ पूरी तरह से काम करता है, जिसमें कोई स्पष्ट समाधान नहीं था। – jaredstenquist

+2

"बेहतर" दृष्टिकोण [stackoverflow] पर है (http://stackoverflow.com/a/1372954/1057527) – machineaddict

+2

मुझे यह दृष्टिकोण पसंद है। 'बेहतर' से बेहतर। – NeoWang

36
.ui-sortable-helper { 
    display: table; 
} 
+0

वाह! आसान और काम कर रहा है! धन्यवाद! – goooseman

+0

+1 इतना आसान समाधान देखने के लिए बहुत अच्छा; मुझे लंबे समय तक इस मुद्दे के साथ चुपचाप सामना करना पड़ा है। भले ही मेरे पास अभी भी पंक्ति (ओं) के बीच कुछ सेल चौड़ाई अंतर है और बाकी, यह जादू बुलेट के काफी करीब आता है। –

+0

क्या यह कहीं भी दस्तावेज़ों में है? मुझे यह प्रतीत नहीं होता है। लेकिन मैं इसे थोड़ा बेहतर समझना चाहता हूं। – Jarrod

-1

की पेशकश समाधान में से कोई भी मेरे लिए काम किया।

मेरे मामले में, jQuery की यूई सॉर्टेबल की गणना की ऊंचाई और चौड़ाई, गोल विशेषता के माध्यम से स्वत: गणना आयामों को गोलाकार और ओवरराइड कर दिया गया था।

यहां समस्या को ठीक करने के लिए मैंने जो किया है, जो मैंने प्रस्तावित समाधानों की तुलना में अधिक सुरुचिपूर्ण पाया है। (यह उस में !important रों है, भले ही।)

.ui-sortable-helper { 
    width: auto !important; 
    height: auto !important; 
} 
8

मैं ऑनलाइन एक समाधान पर ठोकर खाई।

var fixHelper = function(e, ui) { 
    ui.children().each(function() { 
    $(this).width($(this).width()); 
    }); 
    return ui; 
}; 
$(“#sort tbody”).sortable({ 
helper: fixHelper 
}).disableSelection(); 

Fix sortable tr from shrinking

+0

बहुत बढ़िया, मेरी तरफ से ऊपर की ओर। उसके लिए धन्यवाद। –

+0

पूरी तरह से काम करता है, धन्यवाद –

-1

src jQuery-1.12.4.js

src jQuery-ui.js

लिंक rel jQuery-ui.css

@model Servidor.CListados 
@{ 
    ViewBag.Title = "Index"; 
} 
@using (Html.BeginForm()) 
{ 
    <h2>Listados</h2> 
    <h2>@ViewBag.Mensaje</h2> 
    <table> 
      <tr> 
       <th>Campo1</th> 
       <th>Campo2</th> 
      </tr> 
     <tbody id="sortable"> 
      @foreach (var item in Model.ListaTabla1) 
      { 
       <tr > 
        <td>@Html.DisplayFor(modelItem => item.Campo1)</td> 
        <td>@Html.DisplayFor(modelItem => item.Campo2)</td> 
       </tr> 
      } 
     </tbody> 
    </table> 
    @*<ul id="sortable"> 
     @foreach (var item in Model.ListaTabla1) 
     { 
      <li>@Html.DisplayFor(modelItem => item.Campo1)</li> 
     } 
    </ul>*@ 
} 
    <script>$("#sortable").sortable();</script> 
संबंधित मुद्दे