Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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传递参数_Javascript_Jquery - Fatal编程技术网

如何从每个页面动态地向javascript传递参数

如何从每个页面动态地向javascript传递参数,javascript,jquery,Javascript,Jquery,以下代码在每个列表页面(例如下面给出的示例列表页面)上提供了删除功能,其中每个页面中只有3个变量(tableId、removeButtonId、headerCheckbox)不同。如何在所有页面中重复使用此脚本,而不是在每个页面中定义此脚本。如何从每个页面动态地向该脚本传递参数 <script type="text/javascript"> var tableId = '#usersChildren\\:userList';

以下代码在每个列表页面(例如下面给出的示例列表页面)上提供了删除功能,其中每个页面中只有3个变量(tableId、removeButtonId、headerCheckbox)不同。如何在所有页面中重复使用此脚本,而不是在每个页面中定义此脚本。如何从每个页面动态地向该脚本传递参数

        <script type="text/javascript">
            var tableId = '#usersChildren\\:userList';
            var removeButtonId = '#usersChildren\\:removeUsers';
            var headerCheckbox = '#selectAll';

            jQuery(document).ready(function() {
                if (jQuery(tableId).find("input[type='checkbox']").length == 1) {
                    jQuery(headerCheckbox).hide();
                    jQuery(removeButtonId).hide();
                } else if(jQuery(tableId).find("input[type=checkbox]:checked").length == 0) {
                    jQuery(removeButtonId).hide();
                    jQuery(headerCheckbox).click(function() {
                        jQuery(tableId).find("input[type='checkbox']").attr('checked', jQuery(headerCheckbox).is(':checked'));
                    });
                }

                jQuery(tableId).find("input[type='checkbox']").each(function() {
                    if(jQuery(this).attr('id') != headerCheckbox) {
                        jQuery(this).click(function() {
                            if (jQuery(headerCheckbox).is(':checked')) {
                                if(jQuery(tableId).find("input[type=checkbox]:checked").length != 1) {
                                    jQuery(removeButtonId).show();
                                }
                            } else if(jQuery(tableId).find("input[type=checkbox]:checked").length > 0) {
                                jQuery(removeButtonId).show();
                            } else {
                                jQuery(removeButtonId).hide();
                            }
                        });
                    }
                });
            });
        </script>

var tableId='#usersChildren\\\:userList';
var removebutonid='#usersChildren\\\:removeUsers';
var headerCheckbox='#selectAll';
jQuery(文档).ready(函数(){
if(jQuery(tableId).find(“输入[type='checkbox']”)。长度==1){
jQuery(headerCheckbox.hide();
jQuery(removeButtonId.hide();
}else if(jQuery(tableId).find(“input[type=checkbox]:checked”).length==0){
jQuery(removeButtonId.hide();
jQuery(headerCheckbox)。单击(函数(){
jQuery(tableId).find(“input[type='checkbox']”).attr('checked',jQuery(headerCheckbox).is(':checked');
});
}
jQuery(tableId).find(“输入[type='checkbox']”)。每个(函数(){
if(jQuery(this).attr('id')!=headerCheckbox){
jQuery(this).单击(函数(){
if(jQuery(headerCheckbox).is(':checked')){
if(jQuery(tableId).find(“输入[type=checkbox]:选中”).length!=1){
jQuery(removeButtonId.show();
}
}else if(jQuery(tableId).find(“input[type=checkbox]:checked”).length>0){
jQuery(removeButtonId.show();
}否则{
jQuery(removeButtonId.hide();
}
});
}
});
});

您可以将脚本放入php文件中,并将变量传递给查询字符串。使用标题(“内容类型:应用程序/x-javascript”);将其呈现为javascript文件。看看这个例子:

另一种方法是使用location.href检查您的地址。例如,您的地址是page1.html,page2.html,page3.html

if (location.href.match(/page1/))  { //assign id for page 1 //} 
等等。。。
搜索location.href.match以获取更多示例并使用

可以将脚本放入php文件中,并将变量传递给查询字符串。使用标题(“内容类型:应用程序/x-javascript”);将其呈现为javascript文件。看看这个例子:

另一种方法是使用location.href检查您的地址。例如,您的地址是page1.html,page2.html,page3.html

if (location.href.match(/page1/))  { //assign id for page 1 //} 
等等。。。
搜索location.href.match以获取更多示例,并使用

将此代码放在源于脚本标记的脚本中,放在每个需要它的模板上:

function bindRemoveButton(tableId, removeButtonId, headerCheckbox) {
  if (jQuery(tableId).find("input[type='checkbox']").length == 1) {
      jQuery(headerCheckbox).hide();
      jQuery(removeButtonId).hide();
  } else if(jQuery(tableId).find("input[type=checkbox]:checked").length == 0) {
      jQuery(removeButtonId).hide();
      jQuery(headerCheckbox).click(function() {
          jQuery(tableId).find("input[type='checkbox']").attr('checked', jQuery(headerCheckbox).is(':checked'));
      });
  }

  jQuery(tableId).find("input[type='checkbox']").each(function() {
      if(jQuery(this).attr('id') != headerCheckbox) {
          jQuery(this).click(function() {
              if (jQuery(headerCheckbox).is(':checked')) {
                  if(jQuery(tableId).find("input[type=checkbox]:checked").length != 1) {
                      jQuery(removeButtonId).show();
                  }
              } else if(jQuery(tableId).find("input[type=checkbox]:checked").length > 0) {
                  jQuery(removeButtonId).show();
              } else {
                  jQuery(removeButtonId).hide();
              }
          });
      }
  });
}
在每个需要它的模板上

<script type="text/javascript" src="remove.js"></script>
<script type="text/javascript">
  jQuery(document).ready(function() {
    var tableId = '#usersChildren\\:userList';
    var removeButtonId = '#usersChildren\\:removeUsers';
    var headerCheckbox = '#selectAll';

    bindRemoveButton(tableId, removeButtonId, headerCheckbox);
  });
</script>

jQuery(文档).ready(函数(){
var tableId='#usersChildren\\\:userList';
var removebutonid='#usersChildren\\\:removeUsers';
var headerCheckbox='#selectAll';
bindRemoveButton(tableId、removeButtonId、headerCheckbox);
});

现在,您可以在一个位置更改
bindRemoveButton
函数,在每个模板中,您只需更改三个变量。

将此代码放在源于脚本标记的脚本中,放在每个需要它的模板上:

function bindRemoveButton(tableId, removeButtonId, headerCheckbox) {
  if (jQuery(tableId).find("input[type='checkbox']").length == 1) {
      jQuery(headerCheckbox).hide();
      jQuery(removeButtonId).hide();
  } else if(jQuery(tableId).find("input[type=checkbox]:checked").length == 0) {
      jQuery(removeButtonId).hide();
      jQuery(headerCheckbox).click(function() {
          jQuery(tableId).find("input[type='checkbox']").attr('checked', jQuery(headerCheckbox).is(':checked'));
      });
  }

  jQuery(tableId).find("input[type='checkbox']").each(function() {
      if(jQuery(this).attr('id') != headerCheckbox) {
          jQuery(this).click(function() {
              if (jQuery(headerCheckbox).is(':checked')) {
                  if(jQuery(tableId).find("input[type=checkbox]:checked").length != 1) {
                      jQuery(removeButtonId).show();
                  }
              } else if(jQuery(tableId).find("input[type=checkbox]:checked").length > 0) {
                  jQuery(removeButtonId).show();
              } else {
                  jQuery(removeButtonId).hide();
              }
          });
      }
  });
}
在每个需要它的模板上

<script type="text/javascript" src="remove.js"></script>
<script type="text/javascript">
  jQuery(document).ready(function() {
    var tableId = '#usersChildren\\:userList';
    var removeButtonId = '#usersChildren\\:removeUsers';
    var headerCheckbox = '#selectAll';

    bindRemoveButton(tableId, removeButtonId, headerCheckbox);
  });
</script>

jQuery(文档).ready(函数(){
var tableId='#usersChildren\\\:userList';
var removebutonid='#usersChildren\\\:removeUsers';
var headerCheckbox='#selectAll';
bindRemoveButton(tableId、removeButtonId、headerCheckbox);
});
现在,您可以在一个位置更改
bindRemoveButton
函数,在每个模板中,您只需更改三个变量