2016-11-09 22 views
0
<input class="y" id="imploding_feature3" type="hidden" name="product_labels_module[3][manual_products]" value=",,,,62,108,,45,"> 


<input class="y" id="imploding_feature4" type="hidden" name="product_labels_module[4][manual_products]" value=",,,,45,78,,26,"> 

Ich möchte den vom Benutzer eingegebenen Wert erhalten und dann den Wert löschen. Zum Beispiel, der Benutzer gibt den Wert 45 ein, dann werden alle 45 in der Textbox entfernt, aber der andere Wert wird daran erinnern, wie kann ich das mit jquery tun?jquery ausgewählten Wert aus dem Textfeld entfernen

Antwort

1

überprüfen Sie die Ausgabe dieser Demo, ich glaube, es tut, was Sie wollen.

Aktualisiert Skript:

$('#removeProduct').on('click', function() { 
 
\t var input = $('#productId').val(); 
 
    
 
    // loop through each imploding_feature and remove value if exist 
 
    $('input[id^="imploding_feature"]').each(function(ndx, elem) { 
 
    \t var values = $(elem).val(); 
 
     console.log('before =', values); 
 
     var valuesarray = values.split(',').map(function(val, ndx) { 
 
     \t return (val === input)?'':val; 
 
    \t }).join(','); 
 
     $(elem).val(valuesarray); 
 
     console.log('after =', valuesarray); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="productId" value=""> 
 
<button id="removeProduct"> 
 
remove product id 
 
</button> 
 
<input class="y" id="imploding_feature3" type="hidden" name="product_labels_module[3][manual_products]" value=",,,,62,108,,45,"> 
 

 

 
<input class="y" id="imploding_feature4" type="hidden" name="product_labels_module[4][manual_products]" value=",,,,45,78,,26,">

+0

dieser Code funktioniert für mich, aber mein anderes Textfeld wird folgen ändern, ich chg meine Frage bearbeiten abit –

+0

Element ID Attribute müssen eindeutig sein .. – four

+0

davon ausgehen, dass ID einzigartig, wie kann ich dieses 2 Feld überprüfen? –

0
$('#imploding_featurel').on('keyup', function(e) { 
    // enter 
    if (e.keyCode == 13) { 
    // get the value 
    var value = $(this).val() 

    // empty this 
    $(this).val('').html('') 
    } 
}) 

hören keyup/keypress. Vielleicht können Sie eine Schaltfläche hinzufügen, um click Listener hinzuzufügen.

+0

Ich möchte löschen nur den Wert 45, wie kann ich das tun? –

+0

Wenn Sie einen bestimmten Wert oder Werte gezielt löschen müssen, bedeutet dies entweder logisch wie und if-Anweisung für einige Werte oder regulären Ausdruck, wenn Sie viele spezifische Werte löschen müssen. – tree

+0

Verwenden Sie Regex. 'var Wert = $ (this) .val(). replace (/ \ d/g, ''); $ (this) .val (value) ' – TomIsion

0

Sie brauchen keine jquery, um dies zu tun. Verwenden Sie einfach JS, um den Feldwert dieses Elements auf eine leere Zeichenfolge festzulegen.

0

Hier ist mein Beispiel:

// assign the value in a variable. 
    var textValue = $("#inputSample").val(); 
    // this will remove the value in your input element. 
    $("#inputSample").val(""); 

die Textwert Variable den Wert des Eingangselements aufweist.

0

Angenommen, Sie möchten die Werte in einem Array behalten. Lassen Sie uns also ein Werte-Array erstellen, in dem die Werte gespeichert werden. Dann für jede Wertänderung des Feldes wir nur das Array speichern und leeren Sie ihn

var values=[]; 
    $(document).ready(function(){ 

    //create a value container array 


    $('#imploding_feature1').change(function(e) { 
     values.push($(this).val()); 
     $(this).val(''); 
    }); 
}); 
Verwandte Themen