Como posso verificar se o fio contém substrato?
Eu tenho um carrinho de compras que exibe as opções do produto em um menu suspenso e se eles selecionarem "sim", eu quero tornar alguns outros campos na página visíveis.
O problema é que o carrinho de compras também inclui o modificador de preço no texto, que pode ser diferente para cada produto. O seguinte código funciona:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str == "Yes (+ $6.95)") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
No entanto eu preferia usar algo como isto, que não't funciona:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str *= "Yes") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
Só quero executar a ação se a opção selecionada contiver a palavra "Sim" e ignoraria o modificador de preço.
957
3
Assim:
...ou pode usar o operador de til:
Isto funciona porque
indexOf()
retorna-1
se a string foi't encontrada de todo.Note que isto é sensível a maiúsculas e minúsculas.
Se você quiser uma busca sem distinção de maiúsculas e minúsculas, você pode escrever
Ou..,
Você poderia usar search ou match para isso.
str.search( ' Sim' )
retornará a posição do jogo, ou -1 se for't encontrado.
Outra maneira:
Testado no Firefox, Safari 6 e Chrome 36