2011-02-11 12 views
3

my project에 대해 작업 중입니다. 나는 그것의 레이블이 더블 클릭 된 입력 요소에 텍스트를 삽입하는 자바 스크립트 코드 조각을 가지고있다.단축키 자바 스크립트 코드

$(document).ready(function() { 
    $('#name-label').dblclick(function(){ 
     $("#name").val('[b][color="#FF0000"]Please Submit![/color][/b]'); 
    }); 
}); 

그러나이 코드를 반복적으로 복사하여 붙여 넣지 않고도 여러 필드에서 사용할 수 있습니다. 삽입 된 텍스트를 동일하게 유지하고 싶습니다. 여기

내가 원하는 라벨 및 입력 ID 년대 사용할 수 있습니다

라벨/입력

name-label/name 
image-label/image 
quest-label/quest 
price-label/price 
ge-label/ge 
halch-label/halch 
lalch-label/lalch 
details-label/details 
examine-label/examine 
location-label/location 
stats-label/stats 
keywords-label/keywords 

답변

7
$(document).ready(function() { 
    $('label[id$="label"]').dblclick(function(){ 
     $('#' + this.id.split('-')[0]).val('[b][color="#FF0000"]Please Submit![/color][/b]'); 
    }); 
}); 

1 - ID를 ending with '라벨'을 가진 모든 요소에 바인딩.

2 - ID 속성에 대해 동일한 규칙을 따르므로 클릭 한 ID에서 첫 번째 단어를 추출하여 올바른 요소를 찾고 '#'앞에 ID 셀렉터를 추가하십시오.

+0

내가이 작업을 얻기 위해 무엇이든을 수정해야합니까? – Ambo100

+0

@ Ambo100 - 아니요. 바로 연결해야합니다. – karim79

+0

그건 아주 영리합니다. 고맙습니다. – Ambo100

0

요소 -id/개체 조합의 맵을 만들고 ptr 함수를 추가하십시오.

0

이 코드는 클릭 된 레이블을 사용하고 for 특성을 사용하여 채울 적절한 <input> 필드를 찾습니다.

$(document).ready(function() { 
    $("label").dblclick(function() { 
     $("#" + $(this).attr("for")).val('[b][color="#FF0000"]Please Submit![/color][/b]'); 
    }); 
}); 
0

뭔가 같은 :

 
function insertSubmitString(label_id, id) { 
    $('#' + label_id).dblclick(function(){ 
     $('#' + id).val('[b][color="#FF0000"]Please Submit![/color][/b]'); 
    }); 
}; 

function insertAllSubmitStrings() { 
    insertSubmitString('name-label', 'name'); 
    insertSubmitString('image-label', 'image'); 
    insertSubmitString('quest-label', 'quest'); 
    // and so on 
}; 

$(document).ready(insertAllSubmitStrings()); 
0
$(document).ready(function() { 
    $('label').dblclick(function(){ 
     var inp = $(this).attr('id').split('-'); 
     $("#"+inp[0]).val('[b][color="#FF0000"]Please Submit![/color][/b]'); 
    }); 
});