問題から始めましょう:
- オブジェクトリテラルの内容を変更しています。(プロパティ値の変更)
- Firebugコンソール(最初のクリック)には正しい値が表示されます。
- しかし、しばらくすると、特定の値に固執し、変更が停止します。
(注意:stringify
オブジェクトの表現-常に正しい値を表示します)
そしてここに詳細があります:
でaを選択します
street
(オブジェクトに値textbox
を設定する必要がStreetText
あります)console
(幅の広い行)を見て、最後の行を押して、通りのテキストを確認します。
最初は大丈夫です。2回目の試行では、別のストリートを選択した後、古い値のままになります。
ただし、(オブジェクトで)更新を押すと、正しい通りの名前が表示されます。
ここで何が起こっているのですか?
私のオブジェクトは通常のオブジェクトリテラルです:
var obj =
{
getData: function ()
{
obj.CountryId = $(".ddlCountry").val() || "";
obj.CountryText = $(".ddlCountry :selected").text() || "";
obj.StateId = $(".ddlState:visible").val() || "";
obj.StateText = $(".ddlState:visible :selected").text() || "";
obj.CityId = $(".hfDataIdCity").val() || "";
obj.CityText = $(".hfDataTextCity").val() || "";
obj.StreetId = $(".hfDataIdStreet").val() || "";
obj.StreetText = $(".hfDataTextStreet").val() || "";
}
}
コンソールの表示は、ボタンをクリックすることで行われます。
obj.getData();
console.log(obj);
正しい値が表示されないのはなぜですか?(更新後のみ....)
ps:ff:14.0.1
fb:1.10.6
キャッシュがオフになっています