i need remove text "+ 0 Kč" from this options via Jquery, can you help me? Thx
<option value="177" data-surcharge-final-price="0" data-surcharge-additional-price="0">Ginger +0 Kč</option>
<option value="180" data-surcharge-final-price="0" data-surcharge-additional-price="0">Taupe +0 Kč</option>
<option value="183" data-surcharge-final-price="0" data-surcharge-additional-price="0">Mocca +0 Kč</option>
You do not need to use jQuery:
document.querySelectorAll('#choices option').forEach((option) => {
option.textContent = option.textContent.replace(/ \+0 Kč$/, '');
})
<select id="choices">
<option value="177" data-surcharge-final-price="0" data-surcharge-additional-price="0">Ginger +0 Kč</option>
<option value="180" data-surcharge-final-price="0" data-surcharge-additional-price="0">Taupe +0 Kč</option>
<option value="183" data-surcharge-final-price="0" data-surcharge-additional-price="0">Mocca +0 Kč</option>
</select>
But if you want to:
$('#choices option').each(function() {
var $option = $(this);
$option.text($option.text().replace(/ \+0 Kč$/, ''));
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="choices">
<option value="177" data-surcharge-final-price="0" data-surcharge-additional-price="0">Ginger +0 Kč</option>
<option value="180" data-surcharge-final-price="0" data-surcharge-additional-price="0">Taupe +0 Kč</option>
<option value="183" data-surcharge-final-price="0" data-surcharge-additional-price="0">Mocca +0 Kč</option>
</select>
You can do like this.
$(document).ready(function(){
$('select option:contains("+0 Kč")').each(function(){
var $this = $(this);
$this.text($this.text().replace("+0 Kč"," "));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="177" data-surcharge-final-price="0" data-surcharge-additional-price="0">Ginger +0 Kč</option>
<option value="180" data-surcharge-final-price="0" data-surcharge-additional-price="0">Taupe +0 Kč</option>
<option value="183" data-surcharge-final-price="0" data-surcharge-additional-price="0">Mocca +0 Kč</option>
</select>
Whit jQuery you can iterate the options text and edit whit
$this.text($this.text().replace("+0 Kč"," ")); Use jQuery .each() in conjuction with .text() and JavaScript .split() and .replace() to remove every character after the first whitespace.
$('option').each(function (index, element) {
const newText = $(element).text().split(' ')[0];
$(element).text(newText);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="177" data-surcharge-final-price="0" data-surcharge-additional-price="0">Ginger +0 Kč</option>
<option value="180" data-surcharge-final-price="0" data-surcharge-additional-price="0">Taupe +0 Kč</option>
<option value="183" data-surcharge-final-price="0" data-surcharge-additional-price="0">Mocca +0 Kč</option>
</select>