#c# #jquery #css
#c# #jquery #css
Вопрос:
Это должно быть просто для всех, кто делал это ранее, извиняюсь, если на этот вопрос уже был дан ответ, но, похоже, я не могу его найти, если это так.
Я создаю решение на c # vb.net и при добавлении элементов списка флажков я пытаюсь применить один и тот же класс к каждому из них. это позволит мне манипулировать другим полем на основе того, что проверяется конечным пользователем.
Я попробовал 2 следующих фрагмента кода. Из того, что я прочитал, они оба должны работать, но когда я проверил это в dom explorer, он не добавил класс :/
фрагмент 1
private void GetProjectManagers()
{
if (!IsPostBack)
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["tablename"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT FullName,PrimaryID FROM TBL_ProjectManagers ORDER BY FullName ASC;";
cmd.Connection = connection;
connection.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
ListItem item = new ListItem();
item.Text = sdr["FullName"].ToString();
item.Value = sdr["PrimaryID"].ToString();
cbProjectManager.Items.Add(item);
cbProjectManager.Attributes.Add("class","ProjectManagerCheckbox");
}
}
connection.Close();
}
}
}
фрагмент 2
private void GetProjectManagers()
{
if (!IsPostBack)
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["tablename"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT FullName,PrimaryID FROM TBL_ProjectManagers ORDER BY FullName ASC;";
cmd.Connection = connection;
connection.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
ListItem item = new ListItem();
item.Text = sdr["FullName"].ToString();
item.Value = sdr["PrimaryID"].ToString();
item.Attributes.Add("class", "ProjectManagerCheckbox");
cbProjectManager.Items.Add(item);
}
}
connection.Close();
}
}
}
Спасибо
elboffor
::редактировать :: спасибо, что указали в комментариях, что CssClass — это то, что мне нужно для добавления класса, теперь мой код jQuery срабатывает. но по какой-то причине он не получает значения отмеченных флажков. что я делаю, так это пытаюсь объединить значения всех флажков в одно поле текстового поля.
вот мой jquery
$(".ProjectManagerCheckbox").on("change", function () {
var compiled = ($(".ProjectManagerCheckbox:checkbox:checked").map(function () {
return this.value;
}).get().join(", "));
alert(compiled);
$("#tbCompiledProjectManager").val(compiled);
Комментарии:
1. Почему существует VB.NET тег? Ваш код написан на c #.
2. это мой приятель-новичок, я начал писать в этом позавчера и начал с vb.net шаблон в Visual studio и выбрал c # в качестве своего языка.
3. Я отлично вижу класс. Я не уверен, хотите ли вы добавить класс к элементу управления или его элементам, для последнего вы должны использовать cbProjectManager. Элементы [ItemIndex]. Атрибуты. Добавить(«class», «ProjectManagerCheckbox»);
4. по сути, я хочу, чтобы каждый элемент checkbox, который он генерирует, имел класс, такой как <input type=’checkbox’ class=’ProjectManagerCheckbox’ value=’checkboxValue’ /> поэтому, когда он отмечен, я могу получить его значение в событии jquery и использовать его в функции в другой части страницы. Когда я проверяю его в DOM explorer, у него нет связанного с ним класса.
5. Можете ли вы поделиться своим
css
, возможно? Также вы можете установить классCheckBoxList
вместо каждого элемента… Вы уверены, что хотите установить класс, а не стиль вместо этого? Например (установка класса в списке флажков):<asp:CheckBoxList ID="chkboxlist" runat="server" CssClass="ProjectManagerCheckbox" />