2011-07-26 56 views
0

我想這使用:/輸入獲取輸入的屬性值問題方面

var newNum = some new number; 

$("#myDiv fieldset:last").find(':input').attr('name', $(this).attr('name') + newNum); 

如果myDiv輸入字段爲「的firstName」我想將其重命名「firstName15」的可能!

我該如何做到這一點?

謝謝。

+0

上面的代碼是什麼錯? – diEcho

回答

0

使用.each()

$("#myDiv fieldset:last").find(':input').each(function(i, e) { 
    $(e).attr('name', $(e).attr('name') + newNum); 
}); 

當然,如果你將要增加的操作櫃檯請務必考慮這一點,但如果你只是做一個任務,你可以創建一個包含一個變量嘗試在上面的上下文中選擇和操作的元素不是$this,而是指您正在選擇的元素。

+0

謝謝,工作就像一個魅力! :-) –

+0

現在只是另一個問題,如果我想在現有名稱的中間添加這個新號碼,該怎麼辦? :-(類似這樣的產品[newNum] [fieldName]。謝謝! –

+0

我自己想出了後一個問題,非常感謝:)使用.length -2 –

0
var $input = $("#myDiv fieldset:last").find(':input'); 

$input.attr('name', $input.attr('name') + newNum); 

this不是該上下文中的輸入元素。

編輯:我可能誤解了你的問題。如果您的意圖是在多個輸入元素上工作,而不僅僅是一個,請使用@Quintin的解決方案each

+0

我想也許我誤解了這個問題,雖然我發佈的解決方案仍然只適用於一個元素,但它不可能是該場景中最優雅的解決方案。 –

+0

@Quintin在看到你的答案並重新閱讀這個問題後,我想你實際上已經明白了,我沒有......誰知道! –

+0

感謝您的幫助kingjiv; @ Quintin的解決方案爲我工作:) –