Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 如何在选择器id中传递变量?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在选择器id中传递变量?

Javascript 如何在选择器id中传递变量?,javascript,jquery,Javascript,Jquery,我想在变量idd的select元素中传递所选的值,然后在以后使用它。但它并没有存储在变量中。我试图检查alert函数中的值,但即使是alert函数也没有被调用 <script type="text/javascript" charset="utf-8"> $(function(){ $("select.ctlJob").change(function(){ $.getJSON("select.php",{id: $(this).val(), aja

我想在变量idd的select元素中传递所选的值,然后在以后使用它。但它并没有存储在变量中。我试图检查alert函数中的值,但即使是alert函数也没有被调用

<script type="text/javascript" charset="utf-8">
    $(function(){
      $("select.ctlJob").change(function(){
        $.getJSON("select.php",{id: $(this).val(), ajax: 'true'}, function(j){
          var options = '';
          for (var i = 0; i < j.length; i++) {
            options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
          }
          var idd=$(this).val();
          //alert(idd);
          $('select#'+ idd).html(options);
        })
      })
    })
    </script>

$(函数(){
$(“select.ctlJob”).change(函数(){
$.getJSON(“select.php”,{id:$(this.val(),ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
试试这个-(移动的
var idd=$(this.val();
getJSON
之外)


$(函数(){
$(“select.ctlJob”).change(函数(){
var idd=$(this.val();
$.getJSON(“select.php”,{id:$(this.val(),ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
试试这个-(移动的
var idd=$(this.val();
getJSON
之外)


$(函数(){
$(“select.ctlJob”).change(函数(){
var idd=$(this.val();
$.getJSON(“select.php”,{id:$(this.val(),ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
您无法获取值,因为您上下文中的
未引用选择。您需要执行以下操作:

<script type="text/javascript" charset="utf-8">
$(function(){
  $("select.ctlJob").change(function(){
    var selectBox = $(this);
    $.getJSON("select.php",{id: $(this).val(), ajax: 'true'}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
      }
      var idd=selectBox.val();
      //alert(idd);
      $('select#'+ idd).html(options);
    })
  })
})
</script>

$(函数(){
$(“select.ctlJob”).change(函数(){
var-selectBox=$(这是);
$.getJSON(“select.php”,{id:$(this.val(),ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
您无法获取值,因为您上下文中的
未引用选择。您需要执行以下操作:

<script type="text/javascript" charset="utf-8">
$(function(){
  $("select.ctlJob").change(function(){
    var selectBox = $(this);
    $.getJSON("select.php",{id: $(this).val(), ajax: 'true'}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
      }
      var idd=selectBox.val();
      //alert(idd);
      $('select#'+ idd).html(options);
    })
  })
})
</script>

$(函数(){
$(“select.ctlJob”).change(函数(){
var-selectBox=$(这是);
$.getJSON(“select.php”,{id:$(this.val(),ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
这是一个范围问题,您只需访问所选值一次。此代码访问更改处理程序中的值,然后在getJSON响应处理程序中使用该值,该处理程序是一个子作用域函数。所有子作用域函数都可以访问其父作用域,这就是为什么在响应处理程序函数中定义val

$(function(){
  $("select.ctlJob").change(function(){
    var val = $(this).val();    
    $.getJSON("select.php",{id: val, ajax: 'true'}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
      }
      $('select#'+ val).html(options);
    });
  })
})
$(函数(){
$(“select.ctlJob”).change(函数(){
var val=$(this.val();
$.getJSON(“select.php”,{id:val,ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
这是一个范围问题,您只需访问所选值一次。此代码访问更改处理程序中的值,然后在getJSON响应处理程序中使用该值,该处理程序是一个子作用域函数。所有子作用域函数都可以访问其父作用域,这就是为什么在响应处理程序函数中定义val

$(function(){
  $("select.ctlJob").change(function(){
    var val = $(this).val();    
    $.getJSON("select.php",{id: val, ajax: 'true'}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
      }
      $('select#'+ val).html(options);
    });
  })
})
$(函数(){
$(“select.ctlJob”).change(函数(){
var val=$(this.val();
$.getJSON(“select.php”,{id:val,ajax:'true'},函数(j){
var选项=“”;
对于(变量i=0;i
this
$.getJSON()
中的值不引用
select.ctlJob
元素。它有一个新的范围和新的背景。存储一个引用,如
var$that=$(this)选择.ctlJob
…或只需将
var idd
行移到
$.getJSON()
部分之外,请使用
$that
,然后在
$内部使用
$this
的值。getJSON()
不引用
选择.ctlJob
元素。它有一个新的范围和新的背景。存储一个引用,如
var$that=$(this)选择.ctlJob
…或只需将
var idd
行移到
$.getJSON()
块之外,请使用
$that
。是的,现在它工作正常。谢谢但这有什么解释呢?@Lovy这是因为您试图在
getJSON
上下文中使用
$(this)
,所以它没有提到选择,现在它工作正常。谢谢但这是什么解释呢?@Lovy这是因为您试图在
getJSON
上下文中使用
$(this)
,所以它并不指正在更改的选择