-2

part_number であるすべての ID を取得して、一度に 1 つずつ ajax 呼び出しにフィードしようとしています。

1 つのアイテムの html は次のようになります。

<div class="item">
    <p class="image"><a onmousedown="return SearchSpring.Catalog.intellisuggest(this, 'eJyzNCvJT8thcDRwNDG2NDTXNXR1MdI1sTR21bW0NDDQdXa1cDI2cTE0d3RxY2AwBENjAwZzMyOG9KLMFAC61g1R', 'd1f18f7e3b14f73ded97ff0a97db67a2eb19b128322804efbe2f46bd5fcd3c1f')" href="http://208.69.47.49/ProductSearch/ProductDetail.aspx?ID=KEL-AF24-SR"><img onerror="this.onerror=null;this.src='//d1qhbfo7yqnkif.cloudfront.net/ajax_search/img/missing-image-75x75.gif';" src="//208.69.47.49/Contents/Images/PART18_100PX.GIF"></a></p>
    <p class="name"><a onmousedown="return SearchSpring.Catalog.intellisuggest(this, 'eJyzNCvJT8thcDRwNDG2NDTXNXR1MdI1sTR21bW0NDDQdXa1cDI2cTE0d3RxY2AwBENjAwZzMyOG9KLMFAC61g1R', 'd1f18f7e3b14f73ded97ff0a97db67a2eb19b128322804efbe2f46bd5fcd3c1f')" href="http://208.69.47.49/ProductSearch/ProductDetail.aspx?ID=KEL-AF24-SR">VM2327T23A00T</a></p>
    <p class="price">$388.00</p>
         <p id="part_number">VM2327T23A00T</p>
</div>

.each 行で壊れている私の Jquery は次のとおりです。

var parts = [];
var listPrices = [];
SearchSpring.jQuery('id').each(function () {
    parts.push(SearchSpring.jQuery(this).attr('part_number'));
    //listPrices.push(SearchSpring.jQuery(this).attr('list_price_baan'));
});
//skus = skus.join(',');
SearchSpring.jQuery.ajax({
    type: "POST",
    url: "RealTimePricing.aspx/GetCustomerPrice",
    data: "{partNumber:' " + parts + "', listPrice: ' " + listPrices + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: true,
    cache: false,
    success: function (data) {
        for (var id in data) {
            var prices = data[id]['prices'];
            SearchSpring.jQuery('#' + id).text(prices);
        }
    }
});

誰かがこれが各行で壊れている理由を教えてもらえますか? また、ajax呼び出しで「パーツ」を一度に1つずつ正しく呼び出していますか?

4

1 に答える 1

1

あなたが意味するものがこのマークアップを与えられている場合:

<p id="part_number">VM2327T23A00T</p>

で要素内のテキストを取得したいid="part_number"場合は、次のようにする必要があります。

$('#part_number').each(function () {
    var text_inside = $(this).text();
    // shove that into an AJAX call
});

.each()ただし、 ID セレクターを呼び出しても意味がないことに注意してください。特定の ID を持つ要素は 1 つしかないと想定されているためです。

于 2012-06-25T21:38:25.737 に答える