0

input field値が と に等しい場所がありidますbutton。それがトリガーされたら、入力フィールドまたは id に格納されているデータへのボタンも削除buttonたいと思います。ここhttp://jsfiddle.net/leonardeveloper/hcfzL/3/idvalue is equal

HTML:

<form id="materialForm" action="#" method="post">
    <input id="materials" type="text" name="materials" value="1,2,3" readonly="readonly" disabled="disabled" />
</form>
<div id="display">
    <button class="removes" value="1">x</button>
    <button class="removes" value="2">x</button>
    <button class="removes" value="3">x</button>
</div>

JS:

$(document).on('click', '.removes', function () {
    var id = $(this).val();
    alert(id);
    $('#materials').remove(":contains('" + id + "')");
    $('#display').remove(":contains('" + id + "')");
    return false;
});
4

3 に答える 3

2

.remove()値からテキストではなく、DOM 要素を削除するためのものです。また、その中に含まれている要素ではなく、適用されている要素を削除します。

$(document).on('click', '.removes', function () {
    var id = $(this).val();
    alert(id);
    var materials = $('#materials').val().split(',');
    materials = materials.filter(function(e) {
        return e != id;
    });
    $('#materials').val(materials.join(','));
    $(this).remove();
    return false;
});

フィドル

于 2013-08-15T02:00:15.200 に答える
1

:containsセレクターは、他の DOM ノードを含むDOM ノードを選択するためのものです。あなたの場合、値に特定の文字列を持つ入力要素を選択しているように見えます。

フィルターに一致する入力要素を選択するには、おそらく.filterフィルターを使用する必要があります。

于 2013-08-15T02:01:07.570 に答える