2014-03-28 125 views
0

我正在使用opencart並卡住了。 我在做什麼是發送一些變量到ajax。 這是我的數據:將錨點變量傳遞給ajax

data: $('.product-block input[type=\'text\'], .product-block input[type=\'hidden\'], .product-block input[type=\'radio\']:checked, .product-block input[type=\'checkbox\']:checked, .product-block select, .product-block textarea'), 

它工作正常。 但我需要做的是取代'.product-block'從錨點擊選擇一個ID。

我有我的ID在這裏

var id = $(this).attr('rel'); 

但我無法建立此鏈接中的數據源。 我使用它是這樣的:

data: $(id + ' input[type=\'text\']', id + ' input[type=\'hidden\']', ...), 

和測試這個

data: $(id + ' input[type=\'text\']', + id + ' input[type=\'hidden\']', ...), 

但它無法正常工作。 有人可以幫我嗎?

+0

菊st use''.product-block input [type =「text」]'因爲它更乾淨。 – hjpotter92

+0

問題中的語法高亮顯示您的字符串是如何變形的。無論如何,'id'的價值是什麼,它與選擇器有什麼關係?如果它是一個元素的'id',那麼你還需要一個'#'在字符串中,但是你從'rel'值得到它,所以對我來說不是很清楚。 – David

+0

data:$(id +'input [type = \'text \'],+ id +'input [type = \'hidden \'],...),<<<當你寫它時我看到2個語法有關單引號和連接的錯誤。 –

回答

1

刪除所有「產品的嵌段」事件和使用find()它更簡單:

var id = "#" + $(this).attr('rel'); 
$(id).find('input[type=\'text\'], input[type=\'hidden\'], input[type=\'radio\']:checked, input[type=\'checkbox\']:checked, select, textarea'); 

DOCUMENTATION

也不要忘記使用serialize()從形式到‘拉’的數據:

data: $(id).find(...).serialize() //removed ; 

DOCUMENTATION

+0

以後如何將數據傳遞給ajax? 對不起,我不擅長jquery – user2485649

+0

它還沒有發佈任何東西 – user2485649

+0

當我控制檯登錄完整的查找數據,它顯示對象[輸入屬性值=「bvbv」屬性值=「」,輸入屬性值=「3」] 但它不會發布任何內容到ajax (奇怪)? – user2485649