#jquery #asp.net
#jquery #asp.net
Вопрос:
я не знаком с jquery.
Что я пытаюсь сделать, так это перетащить текст, который будет отображаться в виде флажка, и у флажка должны быть идентификатор и всплывающая подсказка, совпадающие с отображаемым текстом. Для этого я использовал следующий код. но это не работает. пожалуйста, помогите
<script type="text/javascript">
$(init);
function init() {
function addColumn(column)
{
var iHtml;
//Labeling and Tool Tip the Checkbox
iHtml = "<span title='ToolTipText'>"
"<input id='<%" column ".ClientID%>' type='checkbox' name='<%" column ".ClientID %>' />"
"<label for='<%" column ".ClientID%>'>MyCheckBox</label></span>";
return iHtml
}
Комментарии:
1. «… это ярлык, который я использовал, чтобы прикрепить всплывающую подсказку к флажку …» Прежде чем нажать Опубликовать свой вопрос, стоит перечитать ваш вопрос и разобраться хотя бы с худшими из опечаток. Я искренне не знаю, что означает это предложение. Я мог бы догадаться, но…
2. Да, пожалуйста, уточните свой вопрос, я не уверен, что вы имеете в виду 🙂
3. к этому привели некоторые проблемы с сетью и ошибки при вводе текста, и, пожалуйста, простите меня и прочитайте обновленный вопрос
4. Код вырван из контекста. Нам нужно все остальное, чтобы понять, что вы делаете неправильно.
Ответ №1:
С этим кодом много проблем. С одной стороны, хотя HTML5 допускает практически любой символ в id
, кроме пробела, более ранние версии HTML были более ограничительными, и CSS все еще является таким, поэтому вы действительно не хотите начинать id
с #
. (В этом случае вы можете id
полностью отказаться от использования, если только вам не нужен id
код for, который вы не указали в кавычках.) В вашем input
типе есть опечатка («checbox»), и поэтому это не будет флажок, по умолчанию будет «текст».
Вот мое лучшее предположение о том, чего вы хотите:
iHtml = "<label title='ToolTipText'>"
"<input id='x<%” column ".ClientID%>' type='checkbox' name='x<%” column ".ClientID%>'/>"
" MyCheckBox</label>";
…но я совсем не уверен в вашем ASP.Сетевые аспекты там правильные (я оставил все так, как у вас было), мне кажется сомнительным, но я не делаю много ASP.Net . (Не в последнюю очередь причудливый ”
персонаж.)
Что я сделал выше:
- Сделайте
id
иname
начните сx
и избавились от#
. Почему, смотрите по ссылкам выше. (Я оставил флажокid
, потому что не был уверен, что он вам не нужен; если вам это не нужно, еслиname
этого достаточно, вы можете удалить его.) - Поместите
input
внутриlabel
. Когда вы сделаете это, вы сможете избежать всего этогоfor
. - Поставьте
title
наlabel
, нет необходимости в дополнительномspan
. - Исправлено
type
. - Заключите текст всех атрибутов в одинарные кавычки. Это в значительной степени стилистично, по крайней мере, в HTML (цитирование атрибутов не является стилистическим в XHTML, это обязательно).
Комментарии:
1. мне нужен такой же идентификатор в коде позади. У флажка должна быть метка, а также tooltiptext я преобразовал элемент управления asp в html, чтобы получить эту информацию, и вот почему я использовал span и все остальное. Что я получаю, так это сообщение об ошибке ‘;’ ожидается.
2. @Новичок: Я думаю, что это, вероятно, связано с необычным знаком кавычки сразу после
<%
. Или… это находится на ASP.Net страница, верно? эти<%
и%>
будут обрабатываться на стороне сервера, верно?
Ответ №2:
<input type="checkbox" id="blablabla" value="myvalue" class="myclass"/>
<script type="text/javascript">
$(document).ready(function(){
$("#blabla").attr({title: "mytooltip"})
.before(function(){
return "<label for=" this.id ">MyLabelText</label>"
});
});
</script>
или короткую форму
$(
$("#blabla").attr({title:"mytooltip"})
.before("<label for='blabla'>MyLabelText</label>");
);
Комментарии:
1. Флажок создается с помощью скрипта. Я этого не понимаю