У меня есть этот код ниже, мне просто нужно разделить строку на части в параметре onSelect функции автозаполнения
$(function(){
$('#business_category').autoComplete({
minChars: 2,
source: function(term, response){
term = term.toLowerCase();
var countryName = $("select[name=country]").val();
var data_search_term = $("input[name=business_category]").val();
console.info(countryName);
$.ajax({
type: "POST",
url: "ajax/businesses_search_terms_count.php",
data: "countryName = " + countryName + "&searchTerm = " + data_search_term,
dataType: "json",
success: function(resp){
response(resp.data)
}
});
},
onSelect: function(event, term, item) {
console.info("searchedItem: " + term);
var data_search_term = $("input[name=business_category]").val();
$('#total-count').html(data_search_term);
}
});
});
Прямо сейчас, когда пользователь выбирает любую категорию, мой вывод: (Audio and video => 6,488)
. Но мне нужен такой вывод: (Audio and video)
. Поэтому мне просто нужна строка с полем категории, а не с номером счетчика, например => 6488.
Не могли бы вы показать нам, каким должен быть ожидаемый результат?
Разделить строку на части? Вы имеете в виду использование ленточной пилы, чтобы разрезать его?
обновить ожидаемый результат. это все еще неясно
Какая строка? Как вы определяете «части»? По космосу? Через запятую? По характеру? По символам 1-5, 6-8, 9-15, 16-300? (и т. д.) Хорошо, что вы предоставили некоторый код, но ни один из них не имеет отношения к вопросу. Предоставьте пример входных данных, ожидаемый результат и то, что вы пытались для этого достичь.
У меня есть поле категории на странице внешнего интерфейса, когда пользователь выбирает любую категорию, тогда строка должна быть в поле категории, а номер счетчика должен отображаться ниже
@JawadAltaf До сих пор неясно, чего вы хотите, откуда и как это должно быть разделено, вы ДОЛЖНЫ привести нам пример.
Мой вывод (аудио и видео => 6488), но я хочу, чтобы вывод был таким (аудио и видео), когда пользователь выбирает любую категорию
jQuery не имеет возможности манипулировать строками
Мне кажется, что вы должны решить свою проблему (не используя js), а в ajax/businesses_search_terms_count.php или/и запросе к базе данных. Не могли бы вы предоставить этот серверный код (php...)
Вы можете достичь своей цели, используя чистый JavaScript с помощью string.split() и string.trim().
var str = "(Audio and video => 6,488)";
var res = str.split("=>")[0]; //Turn string into array splitting by '=>' and get the first element
res = res.trim(); //Remove side spaces
res += ')'; //add ')' to the end of the string
console.info(res); //prints to console '(Audio and video)'
Не за что ^_^ Пожалуйста, отметьте мой ответ, чтобы он мог помочь другим людям, у которых возникла такая же проблема.
сэр, теперь у меня есть другое поле, имя которого - выбрать страну, поэтому теперь я хочу, чтобы, когда пользователь выбирает другую страну, строка автоматически сбрасывалась или пуста из поля категории. полностью у меня есть два поля страны и поле категории. так что, наконец, у вас есть решение?
Пожалуйста, откройте другой вопрос, в котором вы подробно описываете проблему
Как заявил @Donny, вы можете добиться этого с помощью чистого Javascript. Мое решение очень похоже на его, но я просто хотел поделиться немного более кратким решением с использованием строк шаблона:
const str = "(Audio and video => 6,488)";
console.info(`${str.split("=>")[0].trim()})`);
Это хорошее решение с одним вкладышем!
@f-CJ Большое спасибо, сэр, за этот ответ.
Во-первых, действительно неясно, какую часть всего вашего кода вам нужно разделить, во-вторых, каков желаемый результат?