2016-04-04 13 views
-1

私のjQueryコードには以下のような問題があります。私はここでこれについて問題があると説明した。未定義の変数です。クリック時の関数が機能しません。

var subnetCalculator = { 
    _data: { 
     _ipClass: $('#class_select'), 
     _givenOctet1: $('#given_octet1_text'), 
     _givenOctet2: $('#given_octet2_text'), 
     _givenOctet3: $('#given_octet3_text'), 
     _givenOctet4: $('#given_octet4_text'), 
     _cidr: $('#given_mask_text') 
    }, 
    initProblem: function(){ 
     var ipclass = this._data._ipClass.val(); 
     alert(ipclass); //ipclass variable is showing undefined. 
    } 
} 

$("#problem_button").ready(function() { //This is not working on click function  
    console.log(5 + 6); 
    subnetCalculator.initProblem(); 
}); 
+0

複製できません。あなたのコードは正常に動作します:https://jsfiddle.net/wuq30h6u/。コンソールにエラーがないかチェックしてください。 –

答えて

1

いくつかの問題は、これらがあるようだ:

  1. あなたは要素がDOMであるが保証ドキュメント準備ブロックを使用していません。
  2. readyイベントはclickイベントではありません。

ソリューションは、doc準備ブロック内のコードをラップするために私には思えるし、代わりにready使用clickイベントの:

jQuery(document).ready(function($) { 
    var subnetCalculator = { 
    _data: { 
     _ipClass: $('#class_select'), 
     _givenOctet1: $('#given_octet1_text'), 
     _givenOctet2: $('#given_octet2_text'), 
     _givenOctet3: $('#given_octet3_text'), 
     _givenOctet4: $('#given_octet4_text'), 
     _cidr: $('#given_mask_text') 
    }, 
    initProblem: function() { 
     var ipclass = this._data._ipClass.val(); 
     alert(ipclass); //ipclass variable is showing undefined. 
    } 
    } 

    $("#problem_button").click(function() { // <------This should be "click" 
    console.log(5 + 6); 
    subnetCalculator.initProblem(); 
    }); 
}); 
+0

Broは、クリックが機能していないので、私はそこで準備をしていました。私はDOMを使いたくありません。 – user3164151

0

以下試してみてください。この関数をclickイベントにバインドする必要があります。

var subnetCalculator = { 
    _data: { 
    _ipClass: $('#class_select'), 
    _givenOctet1: $('#given_octet1_text'), 
    _givenOctet2: $('#given_octet2_text'), 
    _givenOctet3: $('#given_octet3_text'), 
    _givenOctet4: $('#given_octet4_text'), 
    _cidr: $('#given_mask_text') 
    }, 
    initProblem: function() { 
    var ipclass = this._data._ipClass.val(); 
    alert(ipclass); * * //ipclass variable is showing undefined.** 
    } 
} 

$(function() { 
    $("#problem_button").click(function() { 
    console.log(5 + 6); 
    subnetCalculator.initProblem(); 

    }); 
}); 
関連する問題