2011-03-04 3 views
0

jQuery에서 입력 필드에 두 개의 문자열을 연결 시키려고합니다. 각 문자열은 사용자가 두 개의 버튼 목록에서 각각 하나의 버튼을 누른 결과입니다. 다른 단추를 누를 때마다 필드 값이 업데이트되어 사용 된 단추의 최신 조합이 표시됩니다. 여기jQuery - 두 개의 버튼 세트로 인한 문자열의 동적 연결

내가 가지고 얼마나 멀리이다 : 당신의 도움

답변

3

에 대한

http://jsfiddle.net/Argoron/YYNSm/

덕분에 내가 http://jsfiddle.net/ThiefMaster/YYNSm/10/ 당신이 원하는 생각합니다.

$(document).ready(function() { 
    var buttonData = [null, null]; 
    $("#lang input:button").click(function() { 
     buttonData[0] = $(this).val(); 
     if(buttonData[0] && buttonData[1]) { 
      $("#camouflage").val(buttonData[0] + ', ' + buttonData[1]); 
     } 
    }); 

    $("#letters input:button").click(function() { 
     buttonData[1] = $(this).val(); 
     if(buttonData[0] && buttonData[1]) { 
      $("#camouflage").val(buttonData[0] + ', ' + buttonData[1]); 
     } 
    }); 
}); 
+0

내가 필요한 것, 감사합니다. 대단히 감사합니다. 및 태그 noch! – Argoron

+0

Btw, 배열 대신 적절하게 명명 된 변수에 두 값을 저장하는 것이 좋습니다. 또한 코드를 이동하여 두 값이 모두 설정되어 있는지 확인하고 표시된 값을 별도의 함수로 업데이트하면 의미가 있습니다 (D-R-Y). – ThiefMaster

0

난 당신 말은 방법을 잘 모르겠지만,이 코드는 언어와 문자의 최신 조합 수 : 내가 문제를 이해 얼마나 멀리했던 http://jsfiddle.net/JG6Aw/1/

var lang = '', 
    letter = '', 
    $cam = $('#camouflage'); 

$("#lang input").click(function() { 
    lang = $(this).val(); 
    update(); 
}); 

$("#letters input").click(function() { 
    letter = $(this).val(); 
    update(); 
}); 

var update = function(){ 
    $cam.val(lang + ',' + letter); 
}; 
+0

사용자가 문자를 처음 클릭하면 오류가 발생합니다. – diEcho

+0

아니요. 잘못된 URL :) – Simeon

0

사용이 jQuery를

var allowpress=false; 
$(document).ready(function() { 
    $("#lang input[type=button]").click(function() { 
     $("#camouflage").val($(this).val()); 
     allowpress=true; 
    }); 

    $("#letters input[type=button]").click(function() { 
     if(allowpress) { 
     $("#camouflage").val($("#camouflage").val() + ',' + $(this).val()); 
     allowpress=false; 
     } 
    }); 

}); 

당신은 http://jsfiddle.net/gubhaju/wTFGm/

0
$(document).ready(function() { 
    var languages = ['French', 'English', 'Spanish', 'German']; 
    var letters = ['A', 'B', 'C', 'D', 'E']; 

    $("input[type=button]").click(function() {  
     var selections = []; 
     var previous = $("#camouflage").val().length > 0 ? $("#camouflage").val().split(',') : []; 

     var isLetter = $.inArray($(this).val(), letters) > -1; 

     selections = previous; 

     if (previous.length == 1){ 
      selections[$.inArray(previous[0], languages) > -1 ? 0: 1] = previous[0]; 
     } 

     selections[isLetter ? 1 : 0] = $(this).val(); 
     $("#camouflage").val(selections.length > 1 ? selections.join(',') : selections[0]); 
    }); 
}); 
여기를 볼 수 있습니다
관련 문제