2009-08-10 7 views
2

여러 매개 변수 설정이 필요한 여러 영역에서 jeditable을 사용해야하는 경우가 종종 있습니다.Jeditable : dom 요소 속성을 기반으로 매개 변수를 설정하는 방법

예를 들어, autosuggest 입력 유형으로 jeditable을 사용하면 다른 입력에 다른 데이터 소스를 전달해야합니다.

나는 편집 가능한 플러그인의 한 인스턴스를 사용하고 싶어하고 스크립트에 ATTR-값을 할당하는 것을 시도했다, 그러나 분명이 난 내가 접근하고있어 길 ..

작동하지 않습니다 누군가가 나를 안내 할 수 있기를 바란다 ..

본질적으로 나는 조작하고있는 dom 요소의 ttribute의 값에 근거하여 jeditable 매개 변수 값을 설정할 수 있기를 바란다. 같은

뭔가 :

$('.editme').editable('savedata.php',{ 
    loadurl : 'loaddata.php', 
    loaddata : { handle: $(this).attr('rel') } 
}); 

다음 단순히 서로 다른 부하 소스를 지정할 수는 :

<div id="fruits" class="editme" rel="myfruits">apples</div> 

나는 이 방식으로 작동 할 수있는 키워드를 찾을 수 없습니다 ..

어떻게 동적으로 조작되는 dom 요소의 속성에 액세스 할 수 있습니까? 각 jeditable 바인딩에 대해?

여기는 내가하고 싶은 또 다른 예입니다. authorsList = "".split (","); 다음과 같이

// extend jeditable with autocomplete 
    $.editable.addInputType('autoc', { 
     element: function(settings, original) { 
     var input = $("<input />").autocomplete(settings.mdata, settings.autoc); 
     $(this).append(input); 
    return input; } 
    }); 

$('.editable.authors').editable('savedata.php',{ 
    type : "autoc", 
    mdata : $(this).attr('rel'), // should hold the name 'authorsList' 
    onblur : 'ignore', 
    autoc : { multiple: true, 
       multipleSeparator: ',' }, 
    loadurl : 'loaddata.php', 
    loadtype : 'POST', 
    loaddata : {handle: function(){ return eval($("#objhandle").val())}, lookuptype: 'mirror'}, 
    submit : 'save', 
    cancel : 'cancel', 
    tooltip : "Click to edit", 
    style  : "inherit", 
    cssclass : 'jedi', 
    id  : "field", 
    name  : "data", 
    submitdata : { 
     storetype: 'mirror', 
     handle: function(){return eval($("#objhandle").val())}, 
     timestamp: function(){return eval($("#objtimestamp").val())} 
    } 
}); 

답변

3

경고, 완전히 테스트되지 않은 코드를하지만, 뭔가 작업을해야합니다 :

$('.editme').each(function() { 
    $(this).editable('savedata.php',{ 
     loadurl : 'loaddata.php', 
     loaddata : { handle: $(this).attr('rel') } 
    }); 
}); 

요소에 Jeditable를 초기화 할 때 의 점수가 정확해야 이쪽으로.

+0

감사했습니다! .. 그리고 그것은 정말로 작동해야합니다 .. 그래서 그것이 작동해야합니다 .. 내가 왜 그것을 얻을 수 없다는 것을 모르겠지만 .. 아마 코딩 피로로 인해 뭔가 간단하게 누락되었습니다. 나는 그것을 본질적으로 잘못된 방식으로 시도하지 않는다는 것을 안다. :) –

+0

나는 내 '진짜'계좌로 후속 조치를하고 있는데,이 계좌는 실수로 새로운 계좌로 처리되었다. 계속 : http : /stackoverflow.com/questions/1277570/ –

+0

여전히 작동하지 gt gt 수 없습니다 .. 나는이 질문을 계속하고 있어요 : http://stackoverflow.com/questions/1277570 어떤 이유로 $ (this) .attr ('rel') 또는 다른 $ (this) .html() 등은 모두 미정입니다. $ (this)는 [object Object]이고 은 [object HTMLDocument]입니다. –

0

이 빠른 응답 : 나를

$(this).data('rel) 

과 html로에 대한

<div id="fruits" class="editme" data-rel="myfruits">apples</div> 
관련 문제