2012-12-11 75 views
0

使用jQuery,我下面選擇與上下文的jQuery

MyCompaniesInfo = $('input[name^="Companies"]'); 

和控制檯給我這個(螢火蟲):

MyCompaniesInfo 


Object[input b1280bf5...73a2a334, input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__IsExist False, input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__Type Company, 29 more...] 

0 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__Name.text-box 
1 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__phone.text-box 
2 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__address.text-box 
3 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__street.text-box 
4 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__anotherthing.text-box 
5 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__another.text-box 
6 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__blabla.text-box 
7 input#Companies_b1280bf5-102e-4592-a1b1-53e973a2a334__loremipsum.text-box 

8 input#Companies_b1280bf52a1b1-53e973a2a334__Name.text-box 
9 input#Companies_b1280bf5a1b1-53e973a2a334__phone.text-box 
10 input#Companies_b1280bf5a1b1-53e973a2a334__address.text-box 
11 input#Companies_b1280bf5a1b1-53e973a2a334__street.text-box 
12 input#Companies_b1280bf5a1b1-53e973a2a334__anotherthing.text-box 
13 input#Companies_b1280bf5a1b1-53e973a2a334__another.text-box 
14 input#Companies_b1280bf5a1b1-53e973a2a334__blabla.text-box 
15 input#Companies_b1280bf5a1b1-53e973a2a334__loremipsum.text-box 

....

現在我想所有以「名稱」結尾的字段,例如,我試過這個:

$('input[name$="Name"]', MyCompaniesInfo).val('Name'); 

但這不起作用。如何在MyCompaniesInfo = $('input[name^="Companies"]');之後繼續使用jquery進行選擇?

+0

如果您將鏈接發佈到相關圖像文件,我們其中一個人可以並可能將其包括在問題本身中。同時,對於格式化,請閱讀[編輯幫助頁面](http://stackoverflow.com/editing-help)。 –

+0

控制檯輸出告訴我什麼都沒有,但是您可以使用多個選擇器thingy的'$('input [name^=「Companies」] [name $ =「Name」]');' – adeneo

+0

感謝adeneo和David,會在這個select'input [name^=「Companies」]'上使用上下文,因爲我做了很多操作 是否有可能? –

回答

1

問題是,當您使用第一個選擇器MyCompaniesInfo = $('input[name^="Companies"]');時,您將在MyCompaniesInfo中存儲一組元素。

然後,如果你想篩選元素,你必須使用filter,如下所示。

$(MyCompaniesInfo).filter('input[name$="Name"]') 

爲什麼下面的代碼不起作用? $('input[name$="Name"]', MyCompaniesInfo)
因爲它與$(MyCompaniesInfo).find('input[name$="Name"]')一樣,並且只發現搜索引發DOM樹,就像它在api上描述的一樣。

Given a jQuery object that represents a set of DOM elements, the .find() method allows us to search through the descendants of these elements in the DOM tree and construct a new jQuery object from the matching elements.

在這裏你可以看到一個demo

+0

非常感謝您的幫助。我試過:'$('input [name^=「Companies」] [name $ =「Number」]')。val(「test2」);'那正在工作......但:'var MyCompaniesInfo = null; MyCompaniesInfo = $('input [name^=「Companies」]'); $('input [id $ =「Name」]',MyCompaniesInfo);'或'$('input [name $ =「Name」]',MyCompaniesInfo);'不起作用...我不知道爲什麼...我必須使用'MyCompaniesInfo',因爲我在這個領域做了很多操作.. –

+1

@Olivier看看我的更新。 –

+0

謝謝你的解釋!這對我很有幫助 –