Re: [jQuery] fundamentals: .index(obj) or better solution

2006-10-18 Thread Michael Crowl

John -

Thank you, that worked!  Part of what confused me was that index() is 
defined as having an Obj as the argument, but not what kind - my 
attempts at using an expression as an argument were failing, so I was 
running out of ideas.  I wasn't following context properly.

Have enjoyed working with jQuery lately, nice update.

-- mike


John Resig wrote:
 .index() doesn't do what you think it does. It works like this:

 // Find the position of the P that an ID of someP /within/ the list of
 p elements.
 $(p).index( $(#someP)[0] )

 So, in your code it would be something like this:

 // div i want to find
 id = 3;

 // get the element i want to move
 var curr_obj = $([EMAIL PROTECTED]'id[]'[EMAIL 
 PROTECTED]'+id+']).parent()[0];

 // determine its current location within the set of list_items
 var old_pos = $(div.list_item).index(curr_obj);

 So two things to note: .get() returns an array of elements, not just a
 single element and  .index() works over a list of elements, not the
 children of an element. I hope this makes sense, it is something of
 confusing method. I plan on polishing it up some, as it was a late
 addition to 1.0.

 --John

 On 10/17/06, Michael Crowl [EMAIL PROTECTED] wrote:
   
 .index() is driving me nuts, and I'm trying to figure out if there's an
 obvious solution to what I'm trying to do, or if I'm missing something
 in the API.

 Let's say I have the following:

 div name=list

 div class='list_item'
 input type='hidden' name='id[]' value='1'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='2'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='3'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='4'
 // interface
 /div

 /div

 How do I determine the current element position of a particular
 list_item in that container, using jQuery?

 Using .index(), it seems like this should work:

 // div i want to find
 id = 3;
 // get the element i want to move
 var curr_obj = $([EMAIL PROTECTED]'id[]'[EMAIL 
 PROTECTED]'+id+']).parent().get();
 // determine its current location within the set of list_items
 var old_pos = $(#list).index(curr_obj);

 ...or a number of other combinations I've tried, and none of them can
 get anything but -1 from .index().

 What am I doing wrong here?
 - Does .get() really return an element object?  (It seems to.)
 - What kind of object is .index() looking for?
 

 ___
 jQuery mailing list
 discuss@jquery.com
 http://jquery.com/discuss/

   


___
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/


[jQuery] fundamentals: .index(obj) or better solution

2006-10-16 Thread Michael Crowl

.index() is driving me nuts, and I'm trying to figure out if there's an 
obvious solution to what I'm trying to do, or if I'm missing something 
in the API.

Let's say I have the following:

div name=list

div class='list_item'
input type='hidden' name='id[]' value='1'
// interface
/div

div class='list_item'
input type='hidden' name='id[]' value='2'
// interface
/div

div class='list_item'
input type='hidden' name='id[]' value='3'
// interface
/div

div class='list_item'
input type='hidden' name='id[]' value='4'
// interface
/div

/div

How do I determine the current element position of a particular 
list_item in that container, using jQuery?

Using .index(), it seems like this should work:

// div i want to find
id = 3;
// get the element i want to move
var curr_obj = $([EMAIL PROTECTED]'id[]'[EMAIL 
PROTECTED]'+id+']).parent().get();
// determine its current location within the set of list_items
var old_pos = $(#list).index(curr_obj);

...or a number of other combinations I've tried, and none of them can 
get anything but -1 from .index().

What am I doing wrong here?
- Does .get() really return an element object?  (It seems to.)
- What kind of object is .index() looking for?

-- 


| Michael Crowl
| Web Developer
| [EMAIL PROTECTED]



___
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/


Re: [jQuery] fundamentals: .index(obj) or better solution

2006-10-16 Thread John Resig
.index() doesn't do what you think it does. It works like this:

// Find the position of the P that an ID of someP /within/ the list of
p elements.
$(p).index( $(#someP)[0] )

So, in your code it would be something like this:

// div i want to find
id = 3;

// get the element i want to move
var curr_obj = $([EMAIL PROTECTED]'id[]'[EMAIL 
PROTECTED]'+id+']).parent()[0];

// determine its current location within the set of list_items
var old_pos = $(div.list_item).index(curr_obj);

So two things to note: .get() returns an array of elements, not just a
single element and  .index() works over a list of elements, not the
children of an element. I hope this makes sense, it is something of
confusing method. I plan on polishing it up some, as it was a late
addition to 1.0.

--John

On 10/17/06, Michael Crowl [EMAIL PROTECTED] wrote:

 .index() is driving me nuts, and I'm trying to figure out if there's an
 obvious solution to what I'm trying to do, or if I'm missing something
 in the API.

 Let's say I have the following:

 div name=list

 div class='list_item'
 input type='hidden' name='id[]' value='1'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='2'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='3'
 // interface
 /div

 div class='list_item'
 input type='hidden' name='id[]' value='4'
 // interface
 /div

 /div

 How do I determine the current element position of a particular
 list_item in that container, using jQuery?

 Using .index(), it seems like this should work:

 // div i want to find
 id = 3;
 // get the element i want to move
 var curr_obj = $([EMAIL PROTECTED]'id[]'[EMAIL 
 PROTECTED]'+id+']).parent().get();
 // determine its current location within the set of list_items
 var old_pos = $(#list).index(curr_obj);

 ...or a number of other combinations I've tried, and none of them can
 get anything but -1 from .index().

 What am I doing wrong here?
 - Does .get() really return an element object?  (It seems to.)
 - What kind of object is .index() looking for?

___
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/