2011-05-10 80 views
0

我試圖克隆形式的一部分,而不包括該用戶輸入到所述第一表格。我使用In-字段標籤jQuery插件的信息。如何克隆,而不包括輸入值(使用

當我使用val('')來解決這個問題,輸入的值不重複,但字段標籤插件的水印不會顯示,因爲它應該 - 它只是空白。關於如何解決這個問題的任何建議,甚至如何使代碼更加高效/正確?謝謝。

(function() { 
var count = 0; 

    $('#add-standard-button').live('click',function() { 

    var source = $('.details'), 
     clone = source.clone(); 

    clone.find('.copyme').val('').attr('id', function(i, val) { 
     return val + count; 
    }); 
    clone.find('.copyme').val('').attr('name', function(i, val) { 
     return val + count; 
    }); 
    clone.find('.placeholder').val('').attr('for', function(i, val) { 
     return val + count; 
    }); 

    clone.insertAfter('.details:last'); 

    count++; 

}); 

HTML:

<div class="details" id="standard-details"> 
    <div class="markName"> 
    <p> 
    <span class="markName-field"> 
     <label for="markName" class="placeholder"> 
     <span>Watermark Text Goes Here</span> 
     </label> 
     <input type="text" name="markName" id="markName" class="copyme"> 
    </span> 
    </p> 
</div> 
</div> 

回答

0

設置標題標籤上的輸入,然後拉從您的默認值。

clone.find('.copyme').val($(this).attr('title').attr('name', function(i, val) { 
     return val + count; 

看到一個例子:http://jsfiddle.net/4KLU5/

或者你可以使用HTML5數據標籤

 <input type="text" data-default="default text" name="markName" id="markName" class="copyme"> 

clone.find('.copyme').val($(this).data('default')).attr('name', function(i, val) { 
     return val + count; 
+0

謝謝。不幸的是,這似乎並沒有解決問題。如果用戶已經在原始文本中輸入了文本,則水印不會顯示在克隆字段中。 – Ken 2011-05-10 04:01:44

+0

它們的關鍵在於永遠不會破壞水印,如果您使用標題或數據標題之類的東西,則始終可以引用它作爲其元素的一部分。看到這個:http://jsfiddle.net/4KLU5/ – wesbos 2011-05-11 13:41:55

+0

我想我可能在這裏有問題,因爲現場標籤jQuery插件使用標籤標籤之間的文本作爲水印。我使用的是插件而不是HTML5,因爲當用戶點擊該字段時,該插件會顯示較輕的水印版本。據瞭解,HTML5沒有這個功能。 – Ken 2011-05-12 23:10:43