작은 프로젝트로서 간단한 온라인 혈액학 차이 카운터를 만들려고합니다. 물리적 카운터 (영광스러운 계산기 이상은 아닙니다)는 장치 당 1000 달러를 초과하는 실험실을 실행합니다. 저개발국의 소규모 실험실 및 연구소는이 비용을 감당할 수 없기 때문에 온라인 솔루션이 유용 할 수 있습니다.간단한 문자 빈도 카운터이지만 왜 실시간 계산되지 않습니까?
HTML
<h1>Use the number pad to count cells</h1>
<textarea id="textarea"></textarea>
<br>Cells counted:
<br>
<input type=text id="counter" size=5><br>
Blasts:<br><input type=text id="bl_num" size=5><br>
Blasts%:<br><input type=text id="bl_pct" size=5><br>
Segmented and band neutrophils:<br><input type=text id="segs_num" size=5><br>
Segmented and band neutrophils%:<br><input type=text id="segs_pct" size=5><br>
Lymphocytes:<br><input type=text id="lymph_num" size=5><br>
Lymphocytes%:<br><input type=text id="lymph_pct" size=5><br>
Metamyelocytes/myelocytes:<br><input type=text id="meta_num" size=5><br>
Metamyelocytes/myelocytes%:<br><input type=text id="meta_pct" size=5><br>
Promyelocytes:<br><input type=text id="pro_num" size=5><br>
Promyelocytes%:<br><input type=text id="pro_pct" size=5><br>
Monocytes:<br><input type=text id="mono_num" size=5><br>
Monocytes%:<br><input type=text id="mono_pct" size=5><br>
Nrbc:<br><input type=text id="nrbc_num" size=5><br>
Nrbc%:<br><input type=text id="nrbc_pct" size=5><br>
Eosinophils:<br><input type=text id="eos_num" size=5><br>
Eosinophils%:<br><input type=text id="eos_pct" size=5><br>
Plasma cells:<br><input type=text id="plasma_num" size=5><br>
Plasma cells%:<br><input type=text id="plasma_pct" size=5><br>
Basophils:<br><input type=text id="baso_num" size=5><br>
Basophils%:<br><input type=text id="baso_pct" size=5><br>
Atypical cells:<br><input type=text id="atyp_num" size=5><br>
Atypical cells%:<br><input type=text id="atyp_pct" size=5><br>
내 스크립트,하지만 문자 주파수 데이터가 채워지지 않는 이유 이해가 안 :이 원유 예 (http://jsfiddle.net/xpMTE/ 여기 참조) 작업이
$(window).load(function(){
$("#textarea").keyup(function() {
var box = $(this).val();
var len = box.length;
if (len < 201) {
$('#counter').val(len);
// count blasts
var _blast = box.match(/8/g).length;
var _blast_pct = (_blast/len) * 100;
$('#bl_num').val(_blast);
$('#bl_pct').val(_blast_pct);
// count segs
var _segs = box.match(/3/g).length;
var _segs_pct = (_segs/len) * 100;
$('#segs_num').val(_segs);
$('#segs_pct').val(_segs_pct);
// count meta/myelo
var _meta = box.match(/7/g).length;
var _meta_pct = (_meta/len) * 100;
$('#meta_num').val(_meta);
$('#meta_pct').val(_meta_pct);
// count pros
var _pro = box.match(/5/g).length;
var _pro_pct = (_pro/len) * 100;
$('#pro_num').val(_pro);
$('#pro_pct').val(_pro_pct);
// count lymphs
var _lym = box.match(/2/g).length;
var _lym_pct = (_lym/len) * 100;
$('#lymph_num').val(_lym);
$('#lymph_pct').val(_lym_pct);
// count nrbcs
var _nrbc = box.match(/9/g).length;
var _nrbc_pct = (_nrbc/len) * 100;
$('#nrbc_num').val(_nrbc);
$('#nrbc_pct').val(_nrbc_pct);
// count eos
var _eos = box.match(/4/g).length;
var _eos_pct = (_eos/len) * 100;
$('#eos_num').val(_eos);
$('#eos_pct').val(_eos_pct);
// count mono
var _mono = box.match(/1/g).length;
var _mono_pct = (_mono/len) * 100;
$('#mono_num').val(_mono);
$('#mono_pct').val(_mono_pct);
// count plasma
var _plasma = box.match(/6/g).length;
var _plasma_pct = (_plasma/len) * 100;
$('#plasma_num').val(_plasma);
$('#plasma_pct').val(_plasma_pct);
// count basos
var _baso = box.match(/\+/g).length;
var _baso_pct = (_baso/len) * 100;
$('#baso_num').val(_baso);
$('#baso_pct').val(_baso_pct);
// count atypcal cells
var _atyp = box.match(/\-/g).length;
var _atyp_pct = (_atyp/len) * 100;
$('#atyp_num').val(_atyp);
$('#atyp_pct').val(_atyp_pct);
} else {
alert("You have counted 200 cells");
}
});
});
실시간? 사용자가 숫자 패드를 사용하여 현미경에서 볼 수있는 셀을 계산할 때 카운터는 그래프의 나머지 부분을 채우기 전에 일정한 인스턴스가 발생할 때까지 기다리는 것처럼 보입니다. 이상적인 조건은 아닙니다.