2012-06-26 3 views
0

함수를 호출하려고하는데 값을 올바르게 이스케이프 처리하고 올바르게 전달하는 데 어려움을 겪고 있습니다. 현재 가지고있는 항목 :잡히지 않은 SyntaxError 함수에 여러 값 전달하기

나는이 오류가 계속 발생하면 Uncaught SyntaxError: Unexpected identifier입니다.

그러나 내가 이것을 'selectdone(this," + title_id + ");...으로 전달하면 작동하지만 3 번 시도하면 오류가 발생합니다.

참고 : status_type 변수에 공백이 있습니다 (여러 클래스).

답변

1

: 또한

$(this).html($("<select/>", { 
    id: 'sel', 
    change: function() { 
    selectdone(this, title_id, status_type); 
    } 
}).append($("<option/>", { text: "NS" }))); 

은 "클래스"를 얻을, 아마도 사용하는 것이 좋을 것 ".prop을()" :

var status_type = $(this).prop('className'); 

속성으로 "className"입니다. Post jQuery 1.6, ".prop()"가 아니라 ".attr()"을 원한다는 것은 매우 드뭅니다.

+0

우수 감사합니다. 도움을 주셔서 대단히 감사합니다. – David542

2

jQuery에는 이벤트를 처리하고 DOM을 조작하기위한 훌륭한 내장 도구가 있습니다. 나는 그것들을 사용하는 것이 좋습니다. 당신의 마지막 질문에서 자신을 반복

$("td.status-updates").click(function() { 
    if ($(this).find('#sel').length == 0) { 
     var before = $(this).text(); 
     var title_id = $(this).parent().attr('id'); 
     var status_type = $(this).attr('class'); 
     $(this).empty().append(
      $('<select>').prop('id', 'sel') 
      .on({ 
       change: function() { 
        selectdone(this, title_id, status_type); 
       } 
      }) 
      .append($('<option>').text('NS')) 
     ); 
    } 
}); 

Relevant blog post

관련 문제