내 응용 프로그램에서 picnet tablefilter를 사용합니다.jquery에서 수동으로 이벤트를 첨부하는 데 제한이 있습니까?
http://www.picnet.com.au/resources/tablefilter/demo.htm
Tablefilter는 각 열에 대한 입력을 생성한다. 입력에 일부 문자를 입력하면 필터링이 트리거됩니다.
헤더를 고정시키고 자 할 때, 나는 그 헤더의 사본을 만들어서 tablefilter에서 사용하는 헤더 바로 위에 떠서 올랐다. position: fixed
.
$('#fixed_table thead').append('<tr class="filters">' + $('#container thead .filters').html() + '</tr>');
$('#fixed_table thead .filters input').each(function(index)
{
$(this).attr('id', 'my_' + $(this).attr('id'));
});
을 그래서 지금은 정확히 데모 picnet의 tablefilter의 헤더처럼 보이는 헤더가 헤더가 고정되어 있다는 느낌을주는 원본 헤더 위로 흘러갑니다.
문제의합니다 (picnet 상황없이 명백하게) 그림이 여기에 게시됩니다 : 나는 무엇을 달성하고자하는 http://jsfiddle.net/bJ2K7/21/
:
사용자가 ID를 입력 문자열을 입력하면 = "my_filtertable_filter_3"이면이 함수는 picnet tablefilter에 의해 생성 된 입력 값과 동일한 값을 입력합니다. 나는 또한 (몇 시간 동안 picnets 코드를 읽은 후) 필터를 트리거하는 것으로 보이는 keyup 이벤트를 트리거합니다. 이 같은 이벤트를 잡으려고 노력하는 동안
$('#fixed_table thead .filters input').keyup(function()
{
var input_id = $(this).attr('id').substr(3);
var input_val = $(this).val() ;
$('#filtertable #hidden_thead .filters').find('input#filtertable_filter_3.filter').val(input_val);
$('#filtertable #hidden_thead .filters').find('input#filtertable_filter_3.filter').trigger('keyup');
});
, 그것은 작동하는 것 같군 :
$('#filtertable_filter_3').keyup(function()
{
alert('event caught');
});
내 질문 :
이이 문제에 절대적으로 잘못된 접근, 아니면입니다 나는 단지 올바른 사건을 해고하지 않습니까?
문제 :
으로 아래의 코멘트에서 말했다 : 경고가 발사되지만 필터 (입력 값이 채워집니다.) 발견하지 않았나요
나에게 상황에 대한 올바른 접근 방식 인 것 같습니다. 당신은 "그것이 효과가있는 것 같다"고 말했지만, "나는 단지 적절한 사건을 일으키고 있지 않다"라고 말합니다. 그래서 그 사건은 경보를 발사하지만 원래의 기능을 멈추지 않습니다. –
안녕하세요, 귀하의 의견을 주셔서 감사합니다,하지만 그것을 믿을 수 있지만 문제를 작성하는 걸 깜빡 :) 경고는 해고,하지만 필터가 실행되지 않습니다. –
아니요. DOM은 다음과 같습니다. '$ ('body #fixed_table thead .filters input # my_fitertable_filter_3')'보이는 '헤더에 대해.사용자가 문자열을 입력 할 실제 입력에 대해 DOM을 필터링하려고합니다. $ ('body #container #filtertable #hidden_table. 필터 입력 # fitertable_filter_3') ' –