Искам да деактивирам и да активирам бутона "Изтриване", ако квадратчето не е отметнато в GridView от Jquery? Това е моят код, който не работи.
Моля, помогнете ми по прост начин, защото аз съм нов разработчик!
<script type="text/javascript">
$(document).ready(function () {
$("#<%=GridView1.ClientID %>").find("input[Id*="CheckBox1"]:checkbox").click(function() {
if (this.checked ==true)
{
$("[id$="Button2"]").attr("disabled",false);
}
else
{
$("[id$="Button2"]").attr("disabled",true);
}
})
});
</script>
Отговори:
1 за отговор № 1Синтаксисът, за да проверите дали е поставена отметка в квадратчето -
<input id="checkbox" type="checkbox" name="one" value="1" checked="checked">
--
// First method - Recommended
$("#checkbox").prop("checked") // Boolean true
// Second method - Makes code more readable (e.g. in if statements)
$("#checkbox").is(":checked") // Boolean true
// Third method - Selecting the checkbox & filtering by :checked selector
$("#checkbox:checked").length // Integer >0
$("#checkbox:checked").size() // .size() can be used instead of .length
// Fourth method - Getting DOM object reference
$("#checkbox").get(0).checked // Boolean true
$("#checkbox")[0].checked // Boolean true (same as above)
0 за отговор № 2
Ето JavaScript, който трябва да използвате:
$("#<%=GridView1.ClientID %> tr td input[id*="CheckBox1"][type=checkbox]").click(function () {
var btn = $(this).closest("tr").find("td input[id*="Button2"]");
if ($(this).prop("checked") === true) {
btn.attr("disabled", false);
} else {
btn.attr("disabled", true);
}
});
За разбирането, Урош
0 за отговор № 3
Опитайте тази
function onCheckBoxChecked(obj) {
var btn = $(obj).closest("tr").find("input[id*="Button2"]");
var isChecked = $(obj).attr("checked") ? true : false;
if (isChecked)
btn.attr("disabled", false);
else
btn.attr("disabled", true);
}
и добавете събитие "onclick" в квадратчето за отметка "gridview"
<asp:CheckBox ID="chkBox" onclick="onCheckBoxChecked(this);" runat="server">
</asp:CheckBox>