Я хочу проверить, содержит ли выбранный символ "color-" или "image-" и показывает соответствующее.Проверьте, содержит ли значение определенную строку
http://codepen.io/anon/pen/jkxoE
Я хочу проверить, содержит ли выбранный символ "color-" или "image-" и показывает соответствующее.Проверьте, содержит ли значение определенную строку
http://codepen.io/anon/pen/jkxoE
Я думаю, что вы Мента действительно проверить, если некоторые строка содержит данную подстроку. Вы можете сделать следующее:
childValue.indexOf('color-');
Если подстрока присутствует он возвращает индекс, где появилась эта подстрока, если не вернет -1.
Возможно, что-то вроде этого?
$(selectChild).on('change',function(){
var childOption = $("option:selected", this);
if (childOption.is('[value^=color]')) {
//show pickColor div
} else if (childOption.is('[value^=image]')) {
//show Upload div
}
});
переключатель вы childValue и регулярное выражение
$(selectChild).on('change',function(){
var childOption = $("option:selected", this),
childValue = this.value;
if(/color-/.test(childValue)){
alert("color-");
return;
}
if(/image-/.test(childValue)){
alert("image-");
return;
}
});
Этот вопрос не имеет на самом деле ничего общего с JQuery, а с самим JavaScript. «Самый чистый» способ был бы расширить струнный прототип в JavaScript с StartsWith-процедурой:
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (str){
return this.slice(0, str.length) == str;
};
}
Далее вы можете использовать новую процедуру с любой строкой, которую вы хотите:
if(childValue.startsWith ("color-")){
//show pickColor div
}
Если вы найти лучший метод для сравнения начала строки, вы можете просто изменить объявление прототипа один раз. Это намного проще, чем изменять все случаи, связанные с тем, что вы решили использовать в остальной части вашего кода.
Источники:
Пожалуйста, напишите соответствующие примеры кода. Что вы подразумеваете под 'selected contains'? –