Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 如何在jquery中获取函数外部的变量值_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jquery中获取函数外部的变量值

Javascript 如何在jquery中获取函数外部的变量值,javascript,jquery,Javascript,Jquery,我有一个变量,我在函数中给它赋值,现在我想在这个变量之外得到这个值,但是我没有定义,下面是我的代码。我在我的页面上选择了2,我想填充一些数据。根据用户的选择,我允许用户选择单选按钮,并获取单选按钮的值,以确定在选择菜单中显示哪些数据。现在,在编码之后,我可以在onclick事件函数中发出警报var size\u data,但无法将此值发送到我需要的select2,在此方面的任何帮助都将不胜感激 注意var size\u数据是一个全局变量,包含不同大小的变量也是全局变量 看我的 您可以先用默认值初

我有一个变量,我在函数中给它赋值,现在我想在这个变量之外得到这个值,但是我没有定义,下面是我的代码。我在我的页面上选择了2,我想填充一些数据。根据用户的选择,我允许用户选择单选按钮,并获取单选按钮的值,以确定在选择菜单中显示哪些数据。现在,在编码之后,我可以在onclick事件函数中发出警报
var size\u data
,但无法将此值发送到我需要的select2,在此方面的任何帮助都将不胜感激

注意
var size\u数据
是一个全局变量,包含不同大小的变量也是全局变量

看我的


您可以先用默认值初始化
select2
,然后在单选按钮单击事件中修改其数据,如下所示:


希望对您有所帮助。

您可以先用默认值初始化
选择2
,然后在单选按钮单击事件中,您可以修改其数据,如下所示:


希望它能对您有所帮助。

我按您所说的做了,但它似乎不起作用。单击事件发生后,它没有更新数据。这是我制作的小提琴,非常感谢。这真的很有效,非常感谢您抽出时间来帮我,尽管我无法理解代码的后面部分。如果你能向我解释,我会很高兴的。thanks@sam-我尝试在上述代码中添加一些注释,通过这些注释,您可以了解单选按钮单击事件中发生的所有事情。希望这些都是清楚的。请让我知道,如果你不清楚任何一步。我做了你说的,但它似乎不工作,它没有更新后的点击事件发生的数据,这里是一个小提琴我创造了感谢这么多,这真的很好,感谢你花时间帮我,虽然我不能理解代码的后面部分。如果你能向我解释,我会很高兴的。thanks@sam-我尝试在上述代码中添加一些注释,通过这些注释,您可以了解单选按钮单击事件中发生的所有事情。希望这些都是清楚的。请让我知道,如果任何一个步骤是不清楚的你。
var uk_size = [{ id: '8', text: '8' },
                { id: '10', text: '10' }, 
                { id: '12', text: '12' },
            ];
var us_size = [{ id: '4', text: '4' },
                { id: '6', text: '6' }, 
                { id: '8', text: '8' },
                { id: '10', text: '10' }, 
            ];
var eu_size = [{ id: '34', text: '34' },
                { id: '36', text: '36' }, 
                { id: '38', text: '38' },
            ];
var ng_size = [{ id: 'XS', text: 'XS' },
                { id: 'S', text: 'S' }, 
                { id: 'M', text: 'M' },
            ];
var size_data = ng_size; //default value;
//alert(ng_size);
   $("#size-style input:radio").on('click',function() {
              //alert(ng_size);

                  var size_style ="";
                size_style = $(this).val();
                if (size_style === "ng-size"){
                      size_data = ng_size;  
                }else if(size_style === "uk-size"){
                      size_data = uk_size; 
                }else if(size_style === "us-size"){
                      size_data = us_size;
                }else{
                    size_data = eu_size;
                }
                alert(size_data);//can alert jquery object here
    });



$('select.size-select').select2({
        name: 'size',
        value: 'S',
        data: size_data,
        tags: "true",
        placeholder: "Select size",
        allowClear: true
    });
$("#size-style input:radio").on('click', function() {
  //alert(ng_size);

  var size_style = "";
  size_style = $(this).val();
  if (size_style === "ng-size") {
    size_data = ng_size;
  } else if (size_style === "uk-size") {
    size_data = uk_size;
  } else if (size_style === "us-size") {
    size_data = us_size;
  } else {
    size_data = eu_size;
  }
  alert(size_data); //can alert jquery object here

  var $select = $('select.size-select'); //grabbing the select element

  //fetching the previously set options at the first time initialization of select2 widget
  var options = $select.data('select2').options.options;

  $select.html(''); //clearing the previous dropdown options
  // add new items to the options
  options.data = size_data;
  $select.select2(options); //updating the select2 widget with newer set of option data

});