当我运行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();
}
}
答案 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();
}
}