2012-06-08 3 views
1

특정 조건을 만족하는 경우 색을 지정하고 클릭 할 수있게하려고합니다. 내가 얻는 문제는 요소의 onclick에 매개 변수를 전달하는 것입니다.jqgrid 셀을 클릭 할 때 매개 변수가있는 함수 호출

{ 
    name: 'numberOfUnits', 
    index: 'numberOfUnits', 
    sorttype: 'integer', 
    cellattr: function (rowId, tv, rawObject, cm, rdata) { 
     if (...) { 
      return 'style="background-color:red" onClick="javascript:showReceivedLockedPieChartDialog(' + '\'' + lockedCellId + '\'' + ')"'; 
     } 
     else { 
      return 'style="color:black"'; 
     } 
    } 
} 

내가 같이 텍스트가 형성되고 있음을 참조하십시오 : 내가 좋아하는 뭔가를하고있는 중이 야 ... 내가 이런 식으로 뭔가를 만드는 것을 볼

style="background-color:red" onClick="javascript:showReceivedLockedPieChartDialog('ABC')" 

<td aria-describedby="reportGrid_numberOfUnits" title="13" ABC")"="" onclick="javascript:showReceivedLockedPieChartDialog(" style="background-color:red" role="gridcell">13</td> 

이 함수에 매개 변수를 전달하는 데 도움을주십시오.

답변

3

오 예! 코드에서 cellattr에서 반환 된 문자열의 분리가주의 깊게 충분히 파싱되지 않는다는 것을 보여줍니다. 나는 내부적으로 사용될 함수 formatCol을 더 잘 작성해야한다고 생각한다. 다음에 코드를 변경하려면 RegEx을 사용하여 제안을 trirand에 게시하고 싶었습니다. 당신이 포함되어야한다

  • 당신이 cellattr
  • 에서 반환 된 문자열의 마지막 속성style 속성을 사용한다 :

    그럼에도 불구하고 현재 구현에 cellattr을 사용할 수 있도록 수있는 몇 가지 간단한 규칙이있다 style 속성의 값뿐만 아니라 반환 값의 첫 문자로 공백이 추가로 ' '입니다.

  • style, titleclass은 해당 속성의 이름으로 사용하면 안됩니다.

마지막 규칙는 class="mytitle" 또는 title="my class style"를 사용하지 말아야 것을 의미한다. 반환 된 문자열의 파싱은 너무 조심스럽지 않습니다. 따라서 그러한 이름에는 몇 가지 부작용이 있습니다. 내 생각에 결과를 구문 분석해야 jqGrid 코드의 해당 부분을 전에 쓴 것처럼. 다음 번에 해당 제안을 trirand에 게시하려고합니다. 귀하의 경우에는

당신이

cellattr: function (rowId, tv, rawObject, cm, rdata) { 
    if (...) { 
     return ' onclick="showReceivedLockedPieChartDialog(' + '\'' + 
      lockedCellId + '\'' + ')" style="background-color:red"'; 
    } else { 
     return 'style="color:black"'; 
    } 
} 

The democellattr의 코드를 다시 작성해야 변경 사항이 작동하는지 보여줍니다.

+0

고마워요. 이것은 내가 원하는만큼 완벽하게 작동합니다. 나는 네가 준이 포인터들을 돌볼 것이다. –

+0

@SukeshKumar : 천만에요! – Oleg

관련 문제