2014-01-09 5 views
0

저는 작업중인 프로젝트를 완료하는 데 도움이되는 몇 가지 다른 jquery 함수를 해킹하려고합니다.jquery 함수를 결합하는 데 도움이 필요합니다.

첫 번째 부분이 작동하는 것처럼 보입니다. (입력 된 두 개의 입력란을 채우지 만 제공된 배열로 두 번째 선택 드롭 다운을 채울 수 없습니다. 간단하지만 jquery를 처음 사용하는 것이 확실합니다. 확실히 그것을 밖으로 그림.

편집

을 내가 처음 선택 드롭 다운의 (이하 "_"로 구분) 옵션의 값을 분할합니다.이 표시 텍스트 상자의 양쪽에 사람들을 보낼 필요 내 페이지의 기능에 중요합니다.

여기가 내 h입니다. 여기

<form action="/revenue_lines/lock" id="lockLockForm" method="post" accept-charset="utf-8"> 
<input type="text" id="RevenueLineDate1"> 
<input type="text" id="RevenueLineDate2"> 
<select id="selector"> 
    <option value="Data1_<Data1>">Sample1</option> 
    <option value="Data2_<Data2>">Sample2</option> 
</select> 
<select id="item"></select> 

그리고 TML

여기 내 JQuery와

$('#selector').on('change', function() { 
var val = this.value; 
var parts = val.split("_"); 
$('#RevenueLineDate1').val(parts[0]); 
$('#RevenueLineDate2').val(parts[1]); 
}); 

Sample1 = new Array('Top Story', 'Cases', 'News'); 
Sample2 = new Array('Top Story', 'Cases', 'News'); 

populateSelect(); 

$(function() { 

$('#selector').change(function() { 
    populateSelect(); 
}); 

}); 

function populateSelect() { 
selector = $('#selector').val(); 
$('#item').html(''); 

eval(selector).forEach(function (t) { 
    $('#item').append('<option>' + t + '</option>'); 
}); 
} 

입니다 내가 떨어져 일하고 있어요 jsfiddle에 대한 링크입니다.

미리 감사드립니다.

+1

http://jsfiddle.net/deuq3/15/ –

+0

이것은 가까이에 있지만 두 텍스트 상자를 채울 수 있도록 옵션 값 ("_"으로 구분)을 분할해야합니다. 미안하지만 명확하지 않으면 내 질문을 편집 할 것입니다. – cmill02s

답변

3

거의 다 왔었습니다.) (

<select id="selector"> 
    <option value="Sample1">Sample1</option> 
    <option value="Sample2">Sample2</option> 
</select> 

귀하의 .val을 선택한 <option>이 아닌 텍스트의 값 속성을 받고있다 :

대신이 HTML을보십시오.

편집 : 나는 원래 값은 당신을 위해 중요하다는 것을 당신의 편집에서 볼

. 이 경우 populateSelect의 .val().text()으로 바꾸면 내가 원하는 행동을하게됩니다.

function populateSelect() { 
    selector = $('#selector').text(); 
    $('#item').html(''); 

    eval(selector).forEach(function (t) { 
     $('#item').append('<option>' + t + '</option>'); 
    }); 
} 

는 참고로, 나는 보통 그 방법을 보이는 텍스트에게 좋은 방법을 사용하여 고려하지 것이다 - 그것은 텍스트를 지역화하는 등의 일을에서 당신을 방지 할 수 있습니다. 하나의 대안은 split()을 사용하여 값 (Data1, Data2)의 첫 번째 부분을 키 오프하여 배열 이름으로 사용하는 것입니다. 그러면 기능을 손상시키지 않고 표시된 텍스트를 자유롭게 변경할 수 있습니다.

+0

이것은 그 것이다! 많은 감사합니다! – cmill02s

관련 문제