0

Java スクリプト コード

$("#category select").change(function(){
    var category = $('select option:selected').html();

    $.ajax({
        type:"Post",
        url:"collectiepost.php",
        data:"category="+category,
        cache:"false",
        success:function(html){

    $("select").html(html).find("option .category");

        }

        });
    });
}); 

そのページのhtml出力collectiepost.php

<select id="ontwerper">
  <option class="desinger">vikas</option>
</select>
<select id="category">
 <option class="category">cloth1</option>
 <option class="category">cloth2</option>
</select>

htmlのその部分だけを抽出したい

出力が必要

  <select>
  <option class="category">cloth1</option>
  <option class="category">cloth2</option>
  </select>

問題

しかし、そのようなすべてのオプションタグを表示する私のコード

  <select>
  <option class="desinger">vikas</option>
  <option class="category">cloth1</option>
  <option class="category">cloth2</option>
  </select>
4

3 に答える 3

2

この行:

$("select").html(html).find("option .category");

select要素のコンテンツをに設定してhtmlから呼び出しますfindが、結果には何もしません。DOMに追加する前に、AJAX呼び出しによって返されるHTMLフラグメントを減らす必要があります。

$("select").html($(html).find("option.category"));

これが実際のです。との間にスペースがないことに注意してください。現在のセレクターは、要素の子孫である要素と一致します。option.category.categoryoption

于 2012-07-19T07:23:17.850 に答える
1

データをクエリできるので、

$("select").html($("option.category", html));

選択ボックスが見つかったら、ajaxhtmlから「option.category」の一致を挿入します。

于 2012-07-19T07:23:40.827 に答える
1
$("select").html(html).find("option:not(.category)").remove();

それ以外の

$("select").html(html).find("option .category");
于 2012-07-19T07:22:58.533 に答える