Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在一个文件中简单地组合JS函数_Javascript_Jquery - Fatal编程技术网

Javascript 如何在一个文件中简单地组合JS函数

Javascript 如何在一个文件中简单地组合JS函数,javascript,jquery,Javascript,Jquery,我正在使用一些简单的IF/show/hide脚本 我已经设法让脚本的独立部分正常工作,但由于某些原因,它们相互冲突,我不知道如何将这两个部分合并到一个文件中 这两个字段都设计为在选择上一个表单字段时显示新表单字段 第一: $(文档).ready(函数(){ 切换字段(); $(“#tukreward”)。更改(函数(){ 切换字段(); }); }); 函数toggleFields(){ if($(“#tukreward”).val()=“感兴趣”) $(“#tukFollow”).show()

我正在使用一些简单的IF/show/hide脚本

我已经设法让脚本的独立部分正常工作,但由于某些原因,它们相互冲突,我不知道如何将这两个部分合并到一个文件中

这两个字段都设计为在选择上一个表单字段时显示新表单字段

第一:
$(文档).ready(函数(){
切换字段();
$(“#tukreward”)。更改(函数(){
切换字段();
});
});
函数toggleFields(){
if($(“#tukreward”).val()=“感兴趣”)
$(“#tukFollow”).show();
其他的
$(“#tukFollow”).hide();

}
它们都创建并调用一个函数
toggleFields()
。加载第二个脚本时,第二个脚本将覆盖第一个脚本的定义。最简单的解决方案是将第二个文件的
toggleFields
更改为
toggleFields2

在不同的js文件中使用相同的函数名不是最佳做法。外部Js可用于跨页面定义通用函数,并可包含在页面中

您正在创建两个同名函数,第二个函数将覆盖第一个函数

我的建议是使用单个函数并添加参数,以避免重复

// First file
function toggleFields(fieldToCheckQuery, fieldToCheckShowValue, fieldToShowHideQuery) {
  if ($(fieldToCheckQuery).val() == fieldToCheckShowValue) {
    $(fieldToShowHideQuery).show();
  } else {
    $(fieldToShowHideQuery).hide();
  }
}

// Second file
function toggleTuk() {
    toggleFields("#tukreward", "interested", "#tukFollow");
}

$(document).ready(function () {
  toggleTuk(); 
  $("#tukreward").change(toggleTuk);
}

// Third file
function toggleAccident() {
  toggleFields("#accident", "yes", "#accidentFollow");
}
$(document).ready(function () {
  toggleAccident(); 
  $("#accident").change(toggleAccident);

}))

不,您没有建议
切换字段2
。如何
toggleTuk
toggleAccident
?听取了您的建议,因为我将继续添加更多内容。您最好创建一个
toggleFields
函数,用于处理所有输入。仅仅为每个用例创建一个功能相同但参数不同的新函数是愚蠢的
$(“#事故”)。更改(切换字段)