У меня есть страница asp.net - она отображает ряд пользовательских элементов управления, на главной странице - у меня есть текстовое поле asp.net - в некоторых случаях оно должно быть доступно для редактирования, в других оно должно быть только для чтения. По большей части все работает так, как ожидалось. Есть небольшая ошибка, с которой я сталкиваюсь.
Поэтому в столбце "Предыдущий год" рендеринг значений должен быть только 1, 2, 3, 0 и т.д. - как вы можете видеть по какой-то причине при рендеринге разметки он создает эту разметку:
<td id="ctl00_ctl00_PartContentPlaceHolderMain_ContentPlaceHolderMain_ctl00_ctrlComparison_ctrlComparisonCars1_ctl06">
<input name="ctl00$ctl00$PartContentPlaceHolderMain$ContentPlaceHolderMain$ctl00$ctrlComparison$ctrlComparisonCars1$tbPreviousNoManualCars" type="text" value="1" disabled="disabled" id="ctl00_ctl00_PartContentPlaceHolderMain_ContentPlaceHolderMain_ctl00_ctrlComparison_ctrlComparisonCars1_tbPreviousNoManualCars" class="tbPreviousNumber ui-widget-content ui-corner-all" style="width:50px;display:none;"><span>1</span><span>1</span>
</td>
Таким образом, проблема заключается в создании двойного диапазона. На моей главной странице, которая отображает этот элемент управления, я хочу сделать что-то вроде:
var test = $("#ctl00_ctl00_PartContentPlaceHolderMain_ContentPlaceHolderMain_ctl00_ctrlComparison_ctrlComparisonCars1_PreviousNoManualCars").children().find('span').val();
alert(test);
Однако мое предупреждение не определено. Можно ли удалить один из этих промежутков, используя что-то похожее на вышесказанное?
Также есть лучший способ получить идентификатор, который будет отображаться - я просто вытащил точный текст на экране из Developer Tools только для тестирования, чтобы попытаться заставить это работать.
благодаря
Вы использовали val(), но он должен быть text(), поскольку он не является элементом ввода, его span
также использовать следующий()
var test = $("#ctl00_ctl00_PartContentPlaceHolderMain_ContentPlaceHolderMain_ctl00_ctrlComparison_ctrlComparisonCars1_tbPreviousNumberNoManualCars")
.next('span').text();
alert(test);
class
и егоattriute
зависит от вашей ситуации. Проверьтеjquery selector
для более подробной информации. На данный момент вы можете использовать$("input[id*='tbPreviousNumberNoManualCars']")
что говорит, что ввод с идентификатором содержит словоtbPreviousNumberNoManualCars