$(document).ready(function(){ $('.cancer_help_btn').append(''); $('.cancer_help_btn').off("click").on('click',function(){ var modal_head = ""; try{ modal_head = $(this).parent().find(">label").html()}catch{}; var modal_body = ""; try{ modal_body = $(this).parent().find(">input.help_texts").attr('value')}catch{}; $('#show_help_modal').html("") $('#show_help_modal').modal('show'); $('#show_help_modal .close').off("click").on('click',function(){ $('#show_help_modal').modal('hide'); }); $('#show_help_modal .modal-footer button').off("click").on('click',function(){ $('#show_help_modal').modal('hide'); }); }); $('.btn-add').click(function(){ $(this).parent().find('.num_only').removeClass('cancertable_empty'); if($(this).parent().find('.num_only').val()!=""){ var input_value = Number($(this).parent().find('.num_only').val()); if(Array.isArray($(this).parent().find('.num_only').data('range'))){ var compare_value = $(this).parent().find('.num_only').data('range')[1]; if(compare_value != undefined){ if(input_value+1 <= Number(compare_value)) $(this).parent().find('.num_only').val(input_value+1); else{ input_value = $(this).parent().find('.num_only').data('range')[0]; if(input_value != undefined) $(this).parent().find('.num_only').val(input_value); }; }else{ $(this).parent().find('.num_only').val(input_value+1); }; }; }else{ try{ var input_value = $(this).parent().find('.num_only').data('range')[0]; if(input_value != undefined) $(this).parent().find('.num_only').val(input_value); }catch{ $(this).parent().find('.num_only').val(0); }; }; }); $('.btn-sub').click(function(){ $(this).parent().find('.num_only').removeClass('cancertable_empty'); if($(this).parent().find('.num_only').val()!=""){ var input_value = Number($(this).parent().find('.num_only').val()); if(Array.isArray($(this).parent().find('.num_only').data('range'))){ var compare_value = $(this).parent().find('.num_only').data('range')[0]; if(compare_value != undefined){ if(input_value-1 >= Number(compare_value)) $(this).parent().find('.num_only').val(input_value-1); else{ input_value = $(this).parent().find('.num_only').data('range')[1]; if(input_value != undefined) $(this).parent().find('.num_only').val(input_value); }; }else{ $(this).parent().find('.num_only').val(input_value-1); }; }; }else{ try{ var input_value = $(this).parent().find('.num_only').data('range')[1]; if(input_value != undefined) $(this).parent().find('.num_only').val(input_value); }catch{ $(this).parent().find('.num_only').val(0); }; }; }); $('.cancer_table_btn').off('click').on('click',function(){ var index = $(this).index()/2; try{ $(this).parent().find('>input').attr('value',0); $(this).parent().find('>input').eq(index).attr('value',1); $(this).parent().find('>button').removeClass('active'); $(this).parent().removeClass('cancertable_empty'); }catch{}; $(this).addClass('active'); }); $('#cancer_table_reset').click(function(){ $('.cancer_table_btn').removeClass('active'); $('.cancer-btn-group input').attr('value',0); $('.num_only').val(''); $('#cancer_table .cancer_form_field').removeClass('cancertable_empty'); }); $('#cancer_table_submit').click(function(){ var flag; flag = 1; for(var i = 0;i < $('#cancer_table .cancer_form_field').length;i++){ if($('#cancer_table .cancer_form_field').eq(i).hasClass('num_only')){ if($('#cancer_table .cancer_form_field').eq(i).val()==""){ flag = 0; $('#cancer_table .cancer_form_field').eq(i).addClass('cancertable_empty'); }else{ $('#cancer_table .cancer_form_field').eq(i).removeClass('cancertable_empty'); }; }else{ if($('#cancer_table .cancer_form_field').eq(i).find('[value="1"]').length == 0){ flag = 0; $('#cancer_table .cancer_form_field').eq(i).addClass('cancertable_empty'); }else{ $('#cancer_table .cancer_form_field').eq(i).removeClass('cancertable_empty'); } }; } if(flag == 1){ var post_json= {}; for(var i = 0;i < $('#cancer_table .cancer_form_field').length;i++){ var name = $('#cancer_table .cancer_form_field').eq(i).attr('id') if($('#cancer_table .cancer_form_field').eq(i).hasClass('num_only')) post_json[name] = $('#cancer_table .cancer_form_field').eq(i).val(); else{ var index = ($('#cancer_table .cancer_form_field').eq(i).find('[value="1"]').index()+1)/2; post_json[name] = index; }; }; post_json['locale'] = I18n.locale; var result = $.post("/cancerpredictResult",{"data":post_json}); result.done(function(){ var load_heml = $('#result_table_content').html(result.responseJSON.table); load_heml.ready(function(){ $('#result_table_content .cancer_years').eq(0).addClass('active'); for(var i = 0;i < $('#result_table_content .cancer_years').length;i++){ $('#result_table_content .cancer_years').eq(i).attr('index',i) }; $('#result_table_content .cancer_years').off('click').on('click',function(){ try{ $(this).parent().find('.cancer_years').removeClass('active'); //$('#result_text_content .cancer_years').eq($(this).attr('index')).click(); }catch{}; $(this).addClass('active'); $('#current_year').attr('index',$(this).attr('index')); $('#current_year').attr('value',$(this).html()); $('#current_year').change(); }); }); load_heml = $('#result_text_content').html(result.responseJSON.texts); load_heml.ready(function(){ $('#result_text_content .cancer_years').eq(0).addClass('active'); for(var i = 0;i < $('#result_text_content .cancer_years').length;i++){ $('#result_text_content .cancer_years').eq(i).attr('index',i) }; $('#result_text_content .cancer_years').off('click').on('click',function(){ try{ $(this).parent().find('.cancer_years').removeClass('active'); //$('#result_table_content .cancer_years').eq($(this).attr('index')).click(); }catch{}; $(this).addClass('active'); $('#current_year').attr('value',$(this).html()); $('#current_year').attr('index',$(this).attr('index')); $('.surgery_year').html($(this).html()); $('#current_year').change(); }); for(var i = 0;i < $('#cancer_table_left_result .cancer-btn-group').length;i++){ $('#cancer_table_right_result .cancer-btn-group').eq(i).find('.cancer_table_btn').eq(0).addClass('active'); $('#cancer_table_right_result .cancer-btn-group').eq(i).find('>input').eq(0).attr('value',"1"); }; for(var i = 0;i < $('#cancer_table_right_result .cancer-btn-group').length;i++){ $('#cancer_table_right_result .cancer-btn-group').eq(i).find('.cancer_table_btn').eq(0).addClass('active'); $('#cancer_table_right_result .cancer-btn-group').eq(i).find('>input').eq(0).attr('value',"1"); }; var treatmeny_method = result.responseJSON.treatmeny_method; $('tr.'+treatmeny_method[0]).addClass('tr_show') var lpv = [0,-0.8397,-0.4147,-0.3203,0.3321]; var servive_ratio_arr = [result.responseJSON.servive_ratio] var yes = (I18n.locale=="zh_tw") ? "是" : "yes"; var year = $('#current_year').attr('value'); var active_treatment = ['Surgery_only']; $('.'+active_treatment[0]+' .Overall_Survival').html(servive_ratio_arr[0]); var lpv_real = [result.responseJSON['lpv']]; var lpv_dict={} var lpv_calc={1:-0.001476145,3:-0.01261639,5:-0.02519608} active_treatment.push = function() { if(arguments.length == 1){ var year = $('#current_year').attr('value'); var lpv_current = lpv_real[lpv_real.length-1]+lpv_dict[arguments[0]]; lpv_real.push(lpv_current); var servive_ratio = (Math.exp(lpv_calc[year])**lpv_current)*100; var benefit = servive_ratio - servive_ratio_arr[servive_ratio_arr.length - 1]; servive_ratio_arr.push(servive_ratio); $('tr.'+arguments[0]+' td.Overall_Survival').html(servive_ratio); $('tr.'+arguments[0]+' td.Additional_Benefit').html(benefit); $('tr.'+arguments[0]).css('display','table-row'); $('tr.tr_show').eq(-1).after($('tr.'+arguments[0])); $('tr.'+arguments[0]).addClass('tr_show'); console.log(servive_ratio_arr); if(this.length == 1){ $('.addition').css('display','block'); $('#result_text_content .extra-text').css('display','inline-block'); } var add_choices = this.slice(1,this.length); add_choices.push(arguments[0]); var add_choices_transform = []; for(var i = 0;i= 2) add_choices_str += ('以及'+add_choices_transform[add_choices_transform.length-1]) else add_choices_str = add_choices_transform[0]; console.log(add_choices_transform); var new_text = '

'+'100 位在術後有接受'+add_choices_str+'的婦女中,有 '+''+servive_ratio+''+' 位婦女,術後 '+''+year+''+'年仍為存活(多了'+''+benefit+'位)'+'

'; $('#result_text_content .extra-text .texts_show').eq(-1).after(new_text) return Array.prototype.push.apply(this, arguments); }else{ return Array.prototype.push.apply(this, arguments); } }; Array.prototype.remove_item_from_array = function(){ var result_array = this; for(var i=0;i= 2) add_choices_str += ('以及'+add_choices_transform[add_choices_transform.length-1]) else add_choices_str = add_choices_transform[0]; console.log(add_choices_transform); var new_text = '

'+'100 位在術後有接受'+add_choices_str+'的婦女中,有 '+''+servive_ratio+''+' 位婦女,術後 '+''+year+''+'年仍為存活(多了'+''+benefit+'位)'+'

'; $('#result_text_content .extra-text .texts_show').eq(-1).after(new_text) return Array.prototype.remove_item_from_array.apply(this, arguments); }else{ return Array.prototype.remove_item_from_array.apply(this, arguments); }; }; for(var i = 0;i=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false); }); /*$('.num_only').attr("onpaste","{console.log(clipboardData.getData('text'));return !event.clipboardData.getData('text').match(/\D/)}");*/ /*$('.num_only').keyup(function(){ $(this).val($(this).val().replace(/\D/g,'')); });*/ for(var i=0;i<$('.num_only').length;i++) $('.num_only').eq(i).data('range') });