[英]jquery dynamic subselection combining last and form elements
整理了進行中的解決方案並添加了一些其他詳細信息
我有一個表單區域,可根據模板創建克隆。 為了確保表單按順序發送,腳本會在發送時對表單進行檢查,並附加一個定義當前批次集的數字。 下面是正在發生的事情的過度簡化表示:
<form>
<div class="batch-template">
<div class="batch-piece">
<a class="clone" />
<input name="test-input">
<input name="another-test-input">
<select name="a-drop-down">
</div>
</div>
<div class="batch-paste-area">
</div>
</form>
頁面開始時:
以下是單擊兩次后創建的輸出的示例。
<form>
<div class="batch-template">
</div>
<div class="batch-paste-area">
<div class="batch-piece">
<a class="clone" />
<input name="test-input">
<input name="another-test-input">
<select name="a-drop-down">
</div>
<div class="batch-piece">
<a class="clone" />
<input name="test-input">
<input name="another-test-input">
<select name="a-drop-down">
</div>
</div>
</form>
提交表單時:在序列化之前,我希望腳本在“批處理粘貼區域”內循環遍歷每個“批處理”,並將計數值添加到每個表單字段名稱的末尾。 繼續上面的設置,結果(對瀏覽器而言)如下所示:
<form>
<div class="batch-template">
</div>
<div class="batch-paste-area">
<div class="batch-piece">
<a class="clone" />
<input name="test-input1">
<input name="another-test-input1">
<select name="a-drop-down1">
</div>
<div class="batch-piece">
<a class="clone" />
<input name="test-input2">
<input name="another-test-input2">
<select name="a-drop-down2">
</div>
</div>
</form>
到目前為止,我可以在粘貼區域中遍歷每個輸入,也可以只選擇最后一個。
選擇最后一批很簡單:
var intCount = 1;
$('.batch-paste-area .batch-piece').each(function(){
/*
* Would like to be able to loop through form fields here
* Below is an attempt to select all form fields for current set
*/
$(this + ' input, '+ this + ' select').each(function() {
var strName = $(this).attr('name') + intCount;
$(this).attr('name', strName);
});
intCount++;
});
令人沮喪的是,我實際上已經提前嘗試了正確的解決方案,但當時卻忘記使用逗號!
var intCount = 1;
$('.batch-paste-area .batch-piece').each(function(){
/*
* Would like to be able to loop through form fields here
* Below is an attempt to select all form fields for current set
*/
$(this).find("input, select").each(function() {
var strName = $(this).attr('name') + intCount;
$(this).attr('name', strName);
});
intCount++;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.