2014-12-14 2 views
0
<div class="uk-sortable js-sortable-option"> 
     <div class="uk-margin-small-top"> 
      <i class="uk-icon-bars"></i> 
      <input type="text" name="customfield[data][option][0]" value="First Option"> 
     </div> 
     <div class="uk-margin-small-top"> 
      <i class="uk-icon-bars"></i> 
      <input type="text" name="customfield[data][option][1]" value="Second Option"> 
     </div> 
     <div class="uk-margin-small-top"> 
      <i class="uk-icon-bars"></i> 
      <input type="text" name="customfield[data][option][2]" value="Third Option"> 
     </div> 
    </div> 
    <button class="uk-margin-small-top uk-button js-add-item" type="button">Add Item</button> 

이 양식에서 사용자는 간단한 목록을 만들 수 있습니다. 사용자 정의 선택 입력. 모든 항목에는 고유 한 ID customfield[data][option][id]이 있습니다. 항목을 추가하려면 사용자가 단추를 클릭하면됩니다. 문제는 모든 추가 된 항목마다 name 속성을 변경해야한다는 것입니다. 이름 속성의 id 만 어떻게 변경할 수 있습니까? 이 작업을 수행 할 수jQuery로JQuery : 처리 이름 속성

  var sortele = $('.js-sortable-option'), 
       additem = $('.js-add-item'); 

      additem.on('click',function(){ 
       ele = sortele.first(); 
       /** code to change name attr (e.g. to customfield[data][option][newid])*/ 
       sortele.append(ele); 
      }); 

답변

0

:

var sortele = $('.js-sortable-option'), 
    additem = $('.js-add-item'); 

additem.on('click',function(){ 
    ele = sortele.first(); 
    myVar = "something"; 
    /** code to change name attr (what to do?)*/ 
    ele.attr("name", myVar); 
}); 
2

가 요소의 속성을 변경하려면 다음을 사용 :

$(elm).attr("attr_name","new_val"); 

이 경우, 당신은 카운터 변수가 있어야합니다 배열 인덱스로 사용하기.

  var counter = 0; 
     additem.on('click',function(){ 
      ele = sortele.first(); 
      ele.attr("name", "customfield[data][option]["+counter+"]"); 
      counter++; 
      sortele.append(ele); 
     });