2017-09-12 39 views
0

如何在javaScript中傳遞變量單擊處理程序。在JavaScript單擊處理程序之間傳遞變量

我已將var condition_selction = ($(this).val());分配給.change(function)。我如何在第二個點擊句柄$("#process-signs-scrap-scrapped-button-enabled").click(function() {中獲得這個變量的值。

我如何在這兩個函數之間傳遞變量。

$('input:checkbox').change(function() { 
     /*get the parent node of the radio and then hide only its siblings*/ 
     $(this).parent('label').siblings().toggle(); 
     if ($('.sign-condition').is(':checked')) { 
      var condition_selction = ($(this).val()); 
     } 
     if ($('.sign-reason').is(':checked')) { 
      var reason_selction = ($(this).val()); 
     } 
     //Check that both select fields have a value 
     if (condition_selction != null && reason_selction != null) { 
      $("#process-signs-scrap-scrapped-button-disabled").hide(); 
      $("#process-signs-scrap-scrapped-button-enabled").show(); 
     } else { 
      $("#process-signs-scrap-scrapped-button-disabled").show(); 
      $("#process-signs-scrap-scrapped-button-enabled").hide(); 
     } 
    }); 

    $("#process-signs-scrap-scrapped-button-enabled").click(function() { 



      var process_signs_scrap_condition = condition_selction; 


      var process_signs_scrap_reason = reason_selction 


      // Open the timer modal 
      $('#process-signs-scrap-scrapped-modal').modal('show'); 
+2

什麼相同的兩個二元函數的全局變量或變量範圍是什麼? –

回答

1

聲明在全球VAR,這樣你就可以在這兩個函數訪問它們

var condition_selction; // like this 
var reason_selction; 

$('input:checkbox').change(function() { 
    /*get the parent node of the radio and then hide only its siblings*/ 
    $(this).parent('label').siblings().toggle(); 
    if ($('.sign-condition').is(':checked')) { 
     condition_selction = ($(this).val()); // removed declaration 
    } 
    if ($('.sign-reason').is(':checked')) { 
     reason_selction = ($(this).val()); 
    } 
    //Check that both select fields have a value 
    if (condition_selction != null && reason_selction != null) { 
     $("#process-signs-scrap-scrapped-button-disabled").hide(); 
     $("#process-signs-scrap-scrapped-button-enabled").show(); 
    } else { 
     $("#process-signs-scrap-scrapped-button-disabled").show(); 
     $("#process-signs-scrap-scrapped-button-enabled").hide(); 
    } 
}); 

$("#process-signs-scrap-scrapped-button-enabled").click(function() { 



     var process_signs_scrap_condition = condition_selction; 


     var process_signs_scrap_reason = reason_selction 


     // Open the timer modal 
     $('#process-signs-scrap-scrapped-modal').modal('show'); 
0

您可以將價值傳遞到按鈕上的數據屬性,然後單擊按鈕訪問數據的onclick屬性和它的好處去。我已經修改了一些代碼來獲取示例版本。

$('input:checkbox').change(function() { 
 
     if ($('.sign-condition').is(':checked')) { 
 
      var condition_selction = $(this).val(); 
 
      $("#process-signs-scrap-scrapped-button-enabled").attr('data-value', condition_selction); 
 
     } 
 
    }) 
 

 
    $("#process-signs-scrap-scrapped-button-enabled").click(function() { 
 
      var condition_selction = $(this).attr('data-value'); 
 
      console.log("The value of the checkbox is " + condition_selction); 
 
      })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label> 
 
    <input type="checkbox" class="sign-condition" value="sign condition" /> click me first 
 
</label> 
 
<hr/> 
 
<button type="button" data-value="" id="process-signs-scrap-scrapped-button-enabled">click me last</button>