これは私のJSONファイルです
"shipping":{
"countries":{
"150":{
"id":150,
"code":"nl",
"title":"Nederland"
}
},
"country":150,
"zipcode":null,
"methods":{
"core|13490|40699":{
"id":"core|13490|40699",
"title":"ophalen",
"description":"ophalen",
"content":false,
"pickup":true,
"cod":false,
"price":{
"price_excl":"0.0000",
"price_incl":"0.0000"
}
},
"core|10292|40718":{
"id":"core|10292|40718",
"title":"Pakketdienst",
"description":"Pakketdienst",
"content":false,
"pickup":false,
"cod":false,
"price":{
"price_excl":"33.5714",
"price_incl":"39.9500"}
}
}
}
私のスクリプトは次のようになります。
function bakVormShipping(targetClass){
$.getJSON('http://shop.com/cart/?format=json', function(data){
var methods = ''
$.each(data.cart.shipping.methods, function(index, methods){
if (index == "core|10292|40696") {
$('<span></span>').html('<strong>' + methods.price.price_incl + '</strong>').appendTo(targetClass);
}
else if (index == "core|10292|40693") {
$('<span></span>').html('<strong>' + methods.price.price_incl + '</strong>').appendTo(targetClass);
}
else if (index == "core|10292|40718") {
$('<span></span>').html('<strong>' + methods.price.price_incl + '</strong>').appendTo(targetClass);
}
});
});
}
最初に少し説明します。表示されるjsonは、「カート」ページから呼び出されます。最初に表示される方法は、配送方法です。店舗で受け取ります。実際の出荷の2番目。2つ目(実際の発送)をショップの別のページにロードしたいと思います。だから人々は送料が何であるかを見ることができます。すべての商品は重量に基づいているため、商品の重量が増えると、送料はID「core | 10292|40693」と「core|10292 | 40718」(コードを参照)のメソッドに変更され、コース外の価格がすべて異なります。 。すべて動的であるため、jsonには常に集荷方法と実際の配送方法があります。
私が達成しようとしているのは、a)コードを短くすることです。たとえば、(index == "core | 10292 | 40696" || "core | 10292 | 40693" || "core | 10292 | 40718")が機能せず、集荷方法と実際の配送方法の両方を出力する場合。
b)出力を小数点以下2桁の通貨に変換します。このフォーラムを検索しましたが、このコードで機能させることができません。コードは39.95ではなく39.9500を出力するようになりました
$('<span></span>')
c)コードがスパン内のすべてを出力するようになったため、削除したい。$(methods)を使用してみましたが、「未定義」のエラーが発生します。明らかにvar methods =
「空」で何もしないからです。
誰かがいくつかの方向性を持っているか、助けてくれる人はいますか?私はJSONとjqueryにかなり慣れていないので、我慢してください。