![](/img/trans.png)
[英]javascript object field set input value [object Object] instead of float
[英]javascript: object Object instead of value from set =(
因此,我試圖基於下拉過濾器來繪制相同的數據,但是我並沒有過去將數據存儲到傳遞給繪圖函數的變量中。 我的警報給出了object Object
,但是它不應該是totalValue
(在此示例中)嗎?
HTML
<select id="performance_chart_filter">
<option value="totalValue">Total by Value</option>
<option value="openValue">Open by Value</option>
<option value="declinedValue">Declined by Value</option>
<option value="acceptedValue">Accepted by Value</option>
</select>
JavaScript
$j("#performance_chart_filter").change(function(){
plotWithChoice();
});
function plotWithChoice() {
var d = {
"totalValue": {
label: "Total",
clickable: true,
hoverable: true,
data: <%= @total %>
}
.
.
.
};
var filter = $j("#performance_chart_filter");
var data = [d[filter.val()]];
alert(data);
否filter.val()
最有可能是字符串"totalValue"
。
d[filter.val()]
(或d["totalValue"]
)將是對象d
的屬性totalValue
的值,該對象d
是alert
的對象,因此是alert
的輸出Object object
,因為這是的默認字符串表示形式這樣的通用對象。
並且[d[filter.val()]]
是一個數組,其中一個元素即上述對象。
要進行調試,建議您使用調試器(例如Firebug),因為它可以以可讀形式顯示對象。
或使用.toSource()
方法:
alert(data.toSource());
如果d對象的所有成員都與所示成員相似,並且d在范圍內,則alert(data)
將始終顯示“ object Object”。
如果filter.val()
為“ totalValue”,則數據將為對象:
{
label: "Total",
clickable: true,
hoverable: true,
data: <%= @total %>
}
它沒有顯式的toString
方法,因此將使用默認的toString
。
嘗試alert(data.label)
,希望它會顯示“ Total”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.