Установите флажок с помощью jquery

#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. Флажок создается с помощью скрипта. Я этого не понимаю