2015-04-13 5 views
0

Я пытаюсь сделать разделимые столбцы строк, используя jquery ui-resizable. поэтому здесь мне нужно получить сумму ширины предыдущих разделов, размер которой изменяется. ниже - это то, что я пробовал. но здесь if(cells[0] === currentSpan[0]) не работает .. любой поможет пожалуйста. И если я могу получить эту сумму Div ширины без each будет большой ..получить сумму ширины предыдущих элементов до определенного элемента

HTML

<div class='row'> 
    <div class='simpleSpan' style='width:50px'></div> 
    <div class='simpleSpan' style='width:10px'></div> 
    <div class='simpleSpan' style='width:20px'></div>//this one will be re-sizing 
    <div class='simpleSpan' style='width:20px'></div> 
</div> 

JS

var appendRow = $('.row'); 
$(".report .simpleSpan").resizable({ 
    handles: 'e', 
    minWidth: '50', 
    maxWidth: '500', 
    resize: function() { 
     var totWidth = 0; 
     var currentSpan = this; 
     $(appendRow).each(function(x,span) 
     { 
      var cells = $(".simpleSpan", span); 
      for(iCounter=0;iCounter<cells.length;iCounter++) 
      { 
       if(cells[0] === currentSpan[0]) 
        return false; 
       totWidth = totWidth + cells.width(); 
      } 
     }); 
     alert(totWidth); 
    }, 


    }); 
+1

Является ли [это] (http://jsfiddle.net/ff9vp99g/1/), что вы хотите? – anpsmn

+0

@anpsmn не совсем .. я хочу только сумму ширины выше родного брата 'this', не нужно ниже братьев и сестер ..' totWidth' должно привести 60 .. любая идея? – chriz

+1

Замените '.siblings()' на '.prevAll()'. [Fiddle] (http://jsfiddle.net/ff9vp99g/2/) – anpsmn

ответ

2

Guess это поможет вам http://jsfiddle.net/un353ab6/1/

var widthAdd = 0; 
var lengthPreDiv = $('.get').prevAll().length; 
for(i=0; i<lengthPreDiv; i++) 
{ 
    widthAdd = widthAdd+parseInt($('.get').siblings().eq(i).width()); 
} 
alert(widthAdd);