2011-07-11 24 views
11

Tôi đã sau kiểm soát hộp kiểm ASP.Net thêm vào một trang:ASP.Net hộp kiểm thiếu CSS lớp

<asp:CheckBox ID="chkActive" runat="server" CssClass="myClass" />

Nhưng khi trang được kết xuất nó bỏ qua giá trị của tài sản CssClass:

<input name="ctl00$mainContent$chkActive" id="ctl00_mainContent_chkActive" type="checkbox" value="on"/> 

Bất kỳ ý tưởng nào về cách áp dụng lớp css cho hộp kiểm ASP.Net?

Cảm ơn Alan.

+1

nó là lạ tại sao CssClass nó không đưa cho lớp trên yếu tố đầu vào .. –

+0

nó sẽ làm việc, thì phải có một số khác vấn đề. –

+0

Bạn có chắc chắn không có mã nào trong mã đằng sau tệp đặt CssClass thành một chuỗi rỗng không? – TheGeekYouNeed

Trả lời

7

Ok, khi bạn áp dụng điều khiển hộp kiểm CssClass cho hộp kiểm ASP.Net, nó sẽ áp dụng lớp đó cho một khoảng bao bọc hộp kiểm. Vì lớp css không được áp dụng trực tiếp cho phần tử nên nó không ghi đè lên lớp đã được áp dụng cho tất cả các phần tử đầu vào. Vì vậy, tôi đã sử dụng jQuery để chọn phần tử và áp dụng kiểu cần thiết.

$("input[type=checkbox]").addClass("myClass"); 
+0

cool ............ –

+0

Vâng đó chỉ là những gì tôi cần khi tôi phải cập nhật ứng dụng web asp.net và nhận thấy cssclass đã được thêm vào khoảng ngoài và sau đó mã jquery của tôi cho hộp kiểm logic sẽ không hoạt động. Sửa chữa này là tốt đẹp, tôi thực sự làm điều này thay vì mặc dù $ ("[id $ = Out]"). AddClass ("out"); –

0

Bạn có thể quấn nó trong một số span với một lớp học.

+0

Nếu bạn thêm một '' trước 'Hộp kiểm', đừng quên cập nhật CSS của bạn. –

17

Tôi tìm thấy một câu trả lời khác nhau để này, bạn có thể sử dụng tài sản

MyCheckBox.InputAttributes["class"] = "myClass"; 

gán một lớp học trực tiếp vào một checkbox asp từ codebehind. Chỉ cần lưu ý điều này vì tôi thấy bài đăng này thông qua Google và câu trả lời được chỉ định sẽ không hoạt động đối với tôi.

7

Bài đăng này khá cũ, nhưng tôi sẽ đăng giải pháp của mình để giúp mọi người đến từ google (như tôi).

Bạn có thể sử dụng bộ chọn con > trong jQuery, vì gói span có CssClass mà bạn chỉ định và một con là input. Trong mã của bạn:

$('.myClass > input').addClass("myClass"); 
+0

cũng giống như một quyến rũ thx –

+0

quyến rũ cho tôi nữa. Tôi thậm chí còn thêm một lớp khác với lớp bắt đầu bằng: $ ('. Form-control> input'). AddClass ("hộp kiểm lớn hơn"); Tôi đặt cái này vào $ (document) .ready (function() – JustJohn

0

nếu bạn sử dụng lớp chỉ để lựa chọn mà hộp kiểm tra với tên lớp bạn có thể sử dụng if ($ ('myClassname> đầu vào. ') Là (.': Kiểm tra')) {// hành động của bạn}

0

bạn ALOS có thể chỉ cần đặt lớp css như

<asp:CheckBox ID="cbValittu" runat="server" Checked='<%# Eval("Valittu")%>' Class="checBoks" /> 

Css class can look something like: 
.checBoks input 
{ 
    width: 18px; 
    height: 18px; 
    vertical-align:middle; 
} 
Các vấn đề liên quan