0

基本的に、私の検索は検索結果をスパンで返します。次に、クリックすると、新しいスパンが別の div に追加され、選択入力と非表示入力が追加されるため、選択したすべての機能を配列として投稿できます。

私の質問は、$(this).html()class のスパンが含まれるようになりましたalias_span。新しいスパンに表示したくないもの。クリックしたスパンの内容を新しいスパンに挿入する前に削除するにはどうすればよいですか

$(".minisearch_res").live('click', function() { 

    // when a search result is clicked we disable the submit button, 
    // append a span to the left column with an id, 
    // a select input to select standard/optional and
    // a hidden field with the required information to save and something to 
    // show the user


    var id = $(this).attr('id');

    var html = "<span class= \"added_result_cont\" id=\"" + id + "_cont\">";
    html += "<select name='" + id + "_sel'>";
    html += "<option value=\"none\" selected=\"selected\"></option>";
    html += "<option value=\"std\">Standard</option>";
    html += "<option value=\"opt\" >Optional</option>";
    html += "</select>";
    html += "<span id= \"" + id + "\" class=\"added_result\">";
    html += "<input type=\"hidden\" name=\"selectedfeat[]\" value=\"" + id + "\">";
    html += $(this).html() + "</span></span>";

    $('#div_apply_to').append(html);

    $(this).remove();
    $('#search_input').trigger('keyup');
    $("input[type=submit]").attr("disabled", "disabled");
});

更新:ここにスパンのhtmlがあります

<span class="minisearch_res" id="opt_1">Anti-Lock Brakes<br><span style="padding-left:20px" class="alias_span"><i>abs</i></span><br></span>
4

2 に答える 2

0
<div></div>

それを dom に追加してから、削除します。

var htm = (
    '<span class="foo">foo</span>' +
    '<span>bar</span>' +
    '<span>bar</span>' +
    '<span>bar</span>' +
    '<span>bar</span>'
);

var $el = $("div").append(htm);
console.log($el.html());
$el.find('.foo').remove();
console.log($el.html());

http://jsfiddle.net/chovy/w2HdE/

于 2012-12-24T09:16:31.837 に答える
0

私は非常に誇りに思っている整頓されたクロスブラウザソリューションを手に入れました:)

var temp = $(this);
temp.children('.alias_span').remove();
 $('#div_apply_to').append("...html..." + temp.html() + "...html...");

インスピレーションはここから来ました: Ajax レスポンスから要素を削除する

于 2012-12-25T02:24:57.503 に答える