jquery 플러그인을 코딩 중이므로 편집/저장과 같은 이중 상태가 필요한 버튼이 있습니다. JSON을 통해이 정보를 가져 와서 버튼에 삽입합니다 :jquery의 데이터 객체가 replaceWith 이후에 정의되지 않았습니다.
node
- current //['primary'/'secondary']
- primary // some info
- secondary // some info
버튼을 클릭하면 작업을 변경합니다. 그래서 전체 링크를 템플릿과 button.data에서 얻은 정보로 대체하려고합니다. innerHtml뿐만 아니라 바깥 쪽을 바꾸려면 'replaceWith'을 사용해야합니다. 그런 다음 '데이터'을 새 버튼에 복사하고 이전 버전을 삭제하는 것이 이상적입니다.
changeButtonAction : function(button, selector){
var node = button.data('node'),
info;
if(node.current == 'primary'){
info = node.secondary;
node.current = 'secondary';
}else{
info = node.primary;
node.current = 'primary';
}
button.replaceWith(multiReplace(OPERATION_ITEM, info, true));
button.data('node', $.extend(true, {}, node));
... //bit of interaction
}
것은입니다 : 그것은 정의되지 않은 말한다으로 일단 기능 에서 나는 새 데이터를 잃게. 누군가 도움을 줄 수 있습니까? 'replaceWith'를 사용하면 꼭 필요한 것은 아니므로 다른 솔루션을 생각해 내면 괜찮을 것입니다.
가능한 경우 HTTP에서 데모를 확인하십시오 :
당신은 행동에 그것을 볼 수 // jsfiddle .net/다른 사람들이 당신의 문제에 대해 더 잘 이해할 수 있도록. 모든 코드를 복사 할 필요는 없지만 문제가있는 부분 만 복사하십시오. 다른 js 파일을 추가하려면 왼쪽의 '리소스 추가'를 사용하십시오. – Diode