在JavaScript单击处理程序之间传递变量

时间:2017-09-12 12:39:52

标签: javascript jquery arrays

如何在javaScript单击处理程序中传递变量。

我在[['America', '', '', '', ''], ['', '', 'u1000', '500~1000', 'd500'], ['NY', 'City A', '×', '×', '×'], ['', 'City B', '×', '×', '×'], ['', 'City C', '×', '×', '×'], ['', 'City D', '×', '×', '×'], ['', 'City E', '×', '×', '×']]分配了var condition_selction = ($(this).val());。如何在第二个单击句柄.change(function)中获取此变量的值。

我如何在这两个函数之间传递变量。

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

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分: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>