google.script.run打破$(document).ready或$(':checkbox')。change(evaluateCheckbox);

时间:2014-11-12 04:40:24

标签: jquery google-apps-script

当我运行google.script.run.withSuccessHandler(buildCheckboxes).withFailureHandler(fail).getNumber();它打破$(document).ready或$(':checkbox')。change(evaluateCheckbox); (不确定哪个不起作用)。但如果我直接访问运行buildCheckboxes()$(document).ready& .change继续按预期工作。

$(document).ready(function(){
//buildCheckboxes(); 
google.script.run.withSuccessHandler(buildCheckboxes).withFailureHandler(fail).getNumber(); 
 $(':checkbox').change(evaluateCheckbox);
});

 function buildCheckboxes(num){
if (!num){ var num=3;}
$("#checkboxes").empty();
for (var i=0;i<3;i++){
$("#checkboxes").append('<input type="checkbox" name="cb_'+i+'" value="v2" >Checkbox '+i+'<br><input type="button" id="cb_'+i+'" value="Button"><br>');
$(":button").hide();
 }
 }

 function evaluateCheckbox(){
     if (this.checked) {
       $("#"+this.name).show();
     } else {
       $("#"+this.name).hide();
     } 
 }

1 个答案:

答案 0 :(得分:0)

好的,我明白了。我不得不移动$(&#39;:复选框&#39;)。change(evaluateCheckbox);从document.ready到脚本从.cs文件返回后运行的函数。

$(document).ready(function(){
//buildCheckboxes(); 
google.script.run.withSuccessHandler(buildCheckboxes).withFailureHandler(fail).getNumber(); 

});

 function buildCheckboxes(num){
if (!num){ var num=3;}
$("#checkboxes").empty();
for (var i=0;i<3;i++){
$("#checkboxes").append('<input type="checkbox" name="cb_'+i+'" value="v2" >Checkbox '+i+'<br><input type="button" id="cb_'+i+'" value="Button"><br>');
$(":button").hide();
 }
 $(':checkbox').change(evaluateCheckbox);  //Move this here to make it work.
 }

 function evaluateCheckbox(){
     if (this.checked) {
       $("#"+this.name).show();
     } else {
       $("#"+this.name).hide();
     } 
 }