2011-08-09 45 views
0

我試圖創建一個輸入字段時單擊添加輸入。jquery幫助創建基於另一個輸入字段

使用Jquery創建的輸入應該與最接近的輸入字段相同,但只是添加了名稱的信息。

當單擊添加輸入時,文本應該更改爲「刪除輸入」,如果它被單擊,應該刪除創建的輸入字段。

我的HTML:

<div class="input string optional"> 
<label for="company_count" class="string optional"> count</label> 
<input type="text" size="50" name="company[count]" maxlength="255" id="company_count" class="string optional"> 
<p class="addinput">Add input</p> 
</div> 

<div class="input string optional"> 
<label for="company_navn" class="string optional"> Navn</label> 
<input type="text" size="50" name="company[navn]" maxlength="255" id="company_navn" class="string optional"> 
<p class="addinput">Add input</p> 
</div> 

我的Jquery

$('.addinput').toggle(function() { 


    } 
}); 

更新: 輸入字段:

<div class="input numeric integer optional"><label for="company_prisar" class="integer optional"> Pris 1. år</label><input type="number" step="1" size="50" name="company[prisar]" id="company_prisar" class="numeric integer optional"></div> 

當添加輸入點擊添加此輸入:

<input type="number" step="1" size="50" name="company[prisarinfo]" id="company_prisarinfo" class="numeric integer optional"> 
+0

我想你的意思是['toggle()'](http://api.jquery.com/toggle/),而不是'toogle()'? –

+0

是的,我的意思是撥動 –

+0

如果您發現它適合,請將我的答案標記爲已接受,如果不提供更多關於答案失敗的更多細節 – Muleskinner

回答

1

如果我明白你的問題正確的,那麼這樣的事情應該解決的問題:

$('button.add', '#companyinfo').live('click', function(e) { 
    var element = $(this).parents('.input').find('input').last().clone().prop('value',''); 
    var counter = $(this).parents('.input').find('input').length + 1; 
    var newname = element.prop('id') + '_' + counter; 
    element.prop('name', newname); 
    element.insertAfter($(this).parents('.input').find('input').last()); 
    $('button.remove').removeProp('disabled'); 
}) 
$('button.remove', '#companyinfo').live('click', function(e) { 
    $(this).parents('.input').find('input').last().remove('input'); 
    if ($(this).parents('.input').find('input').length == 1) { 
     $(this).parents('.input').find('button.remove').prop('disabled', 'disabled'); 
    } 
}); 

請注意,我已經修改了你HTML中的一點,你可以看到一個working live demo at jsFiddle

+0

是幾乎我想要的,只是名稱應該是公司[最接近的輸入字段名稱+信息]示例如果添加輸入字段與名稱公司[prisar]添加的輸入字段應該是公司[prisarinfo]。我已經用示例更新了我的帖子 –

+0

我已經根據您的回答創建了此信息:http://jsfiddle.net/H6XeJ/8/但信息位於[] –

+0

之外我的新版本只進行了少量編輯:http:// jsfiddle.net/H6XeJ/20/仍然有相同的問題 –

0

我認爲你有一個錯字,它應該閱讀:

$('p.addinput').toggle(function(){}); 

你能在你想要的功能做什麼擴展?我不清楚。

+0

這只是一條評論? – Muleskinner

+0

我希望能夠通過Rails提供更多的輸入來回答這個問題。看起來他希望在有人點擊「添加輸入」時添加額外的INPUT,但尚不清楚他是否希望將其添加到自己的DIV中,或添加到其他INPUT旁邊或之前的相同DIV中。只是不太清楚他想要什麼。 – Twisty

相關問題