2013-12-12 16 views
0

我需要以某種方式將data-rel值輸入到字段並從特定類的相同輸入字段中刪除名稱。Jquery將data-rel屬性添加到所有輸入字段並刪除名稱屬性

我到目前爲止所做的代碼正在努力從該特定字段中刪除名稱。但我無法將數據rel添加到同一字段。

這是代碼。

$('.vf-sortable-holder').each(function() { 
    var empty_sortable = $(this).closest('.option').find('.empty-sortable').find('input'); 
    var sortable_name = empty_sortable.attr('name'); 

    input.attr('data-rel', sortable_name); 

    empty_sortable.removeAttr('name'); 

}); 

所以HTML這個樣子的

<div class="option"> 
    <div class="vf-sortable-holder"> 
     <div class="empty-sortable hidden"> 
     <input type="text" name="example"> 
     </div> 
    </div> 
</div> 

<div class="option"> 
    <div class="vf-sortable-holder"> 
     <div class="empty-sortable hidden"> 
     <input type="text" name="example"> 
     </div> 
    </div> 
</div> 

所以我的js代碼的工作,除去name屬性,但我確實需要與數據相對變更名稱或者從HTML與JS代碼刪除名稱並添加數據相對或以某種方式重命名的名字到底我需要它的數據相對看起來像這樣:

<div class="option"> 
    <div class="vf-sortable-holder"> 
     <div class="empty-sortable hidden"> 
     <input type="text" data-rel="example"> 
     </div> 
    </div> 
</div> 

<div class="option"> 
    <div class="vf-sortable-holder"> 
     <div class="empty-sortable hidden"> 
     <input type="text" data-rel="example"> 
     </div> 
    </div> 
</div> 
+2

沒有'空sortable'元素 –

+0

是的,感謝注意到,在代碼中存在空排序,我只是忘了在這裏寫的例子中,我編輯的頁面添加空排序元素。 –

+0

什麼是「輸入」?那個變量沒有被定義在任何地方 – epascarello

回答

3

這是你在找什麼?

$('.vf-sortable-holder').each(function() { 
    var empty_sortable = $(this).find('input'); 
    var sortable_name = empty_sortable.attr('name'); 

    empty_sortable.attr('data-rel', sortable_name).removeAttr('name');; 
}); 

也刪除'。'從你的vf可排序的類名在HTML中。

+0

會給出相同的答案,當你有$(this) – Mark

+0

時,不需要上去然後下去。是的,這只是做了一個小伎倆,我只是需要改變empty_sortable就像你張貼在你的示例和它的工作,雖然我不明白這是如何與我在我的代碼有什麼不同,但這個工程,非常感謝。 –

0

在類名中刪除..vf-sortable-holder

<div class="option"> 
    <div class="vf-sortable-holder"> 
     <input type="text" name="example" /> 
    </div> 
</div> 
<div class="option"> 
    <div class="vf-sortable-holder"> 
     <input type="text" name="example2" /> 
    </div> 
</div> 

然後

jQuery(function() { 
    $('.vf-sortable-holder input').attr('data-rel', function() { 
     var name = this.name; 
     $(this).removeAttr('name'); 
     return name; 
    }) 
}) 

演示:Fiddle

1

選擇.vf-sortable-holder,則父.option,那麼.empty-sortable終於input,所有內部循環,似乎跳躍t通過很多箍?

$('.option .vf-sortable-holder .empty-sortable input').attr('data-rel', function() { 
    return this.name; 
}).prop('name',''); 
相關問題