Eu tenho uma função abaixo que só quero acionar quando uma caixa de seleção no mesmo tr estiver marcada. Por favor, diga-me o que estou fazendo de errado, os métodos usuais não estão funcionando. obrigado
JS
$(".add_menu_item_table").live('click', function() {
var value_td = $(this).parents('tr').find('td.td_name').text();
if ($('input.checkbox_check').attr(':checked')); {
var newDiv = $('<div class="div_menu_button"></div>');
var showDiv = $('<div id="show' + "0" + numShow++ + '" class="menu_button_info hidden"></div>');
var toggleTrigger = $('<a id="toggleshow' + "0" + numToggle++ + '" data-target="#show' + "0" + numTarget++ + '" class="toggle_trigger actions"> </a><div style="padding:5px"></div>');
var menuForm = $('<form id="menu_edit_form' + "0" + numForm++ + '" class="menu_creation_form"></form>');
$('#created_buttons_list').append(
newDiv.text(value_td)
);
newDiv.wrap("<li></li>");
newDiv.append(toggleTrigger);
newDiv.append(showDiv);
showDiv.append(menuForm);
menuForm.html('<label for="navigation_label">Navigation Label</label><input id="navigation_label' + "0" + numLabelone++ + '" type="text" placeholder="Navigation Label" name="navigation_label"><label for="attribute">Attribute</label><input id="attribute' + "0" + numLabeltwo++ + '" type="text" type="text" placeholder="Attribute" name="attribute"><label for="url">URL</label><input id="url' + "0" + numLabelthree++ + '" type="text" type="text" placeholder="URL" name="url"><input type="button" value="Remove" class="button_link remove_button"> <input type="reset" value="Cancel" class="button_link">');
}
});
var numToggle = 0;
var numShow = 0;
var numTarget = 0;
var numForm = 0;
var numLabelone = 0;
var numLabeltwo = 0;
var numLabelthree = 0;
<table width="316px" border="0" cellspacing="0" cellpadding="0" id="table-data">
<tbody>
<tr>
<td width="20px"><input type="checkbox" style="width:20px;" value="1" name="checkbox"></td>
<td width="200px"><a href="/admin/feedbackmanager/sortby/2/sortdesc/0">Page Name</a></td>
<td width="20px"><a href="/admin/feedbackmanager/sortby/3/sortdesc/0">Add</a></td>
</tr>
<tr>
<td><input type="checkbox" style="width:20px;" value="1" name="checkbox" class="checkbox_check"></td>
<td class="td_name">Timeplot</td>
<td><input class="add_menu_item_table" name="add_menu_item" value="Add" type="button"></td>
</tr>
<tr>
<td><input type="checkbox" style="width:20px;" value="1" name="checkbox" class="checkbox_check"></td>
<td class="td_name">Operations Manuals</td>
<td><input class="add_menu_item_table" name="add_menu_item" value="Add" type="button"></td>
</tr>
</tbody>
</table>
jquery
checkbox
if-statement
Clinton Green
fonte
fonte
$('input.checkbox_check').checked
retornatrue
se estiver marcado,false
caso contráriochecked
. Eu acho que você quis dizer$('input.checkbox_check')[0].checked
Respostas:
fonte
if $('#my_checkbox').is ':checked'
if ( elem.checked )
ouif ( $( elem ).prop( "checked" ) )
ouif ( $( elem ).is( ":checked" ) )
". veja api.jquery.com/proppara jQuery 1.6 ou superior:
fonte
isso
$('#checkboxId').is(':checked')
para verificar se está marcadoe isso
$("#checkboxId").prop('checked', true)
para verificar& isto
$("#checkboxId").prop('checked', false)
para desmarcarfonte
Se nenhuma das soluções acima funcionar por qualquer motivo, como no meu caso, tente o seguinte:
fonte
Veja a principal diferença entre ATTR | PROP É abaixo:
Fonte: http://api.jquery.com/attr /
fonte
Se marcado :
Obtenha o valor verificado :
Obtenha os números val verificados :
Marque ou desmarque a caixa de seleção
fonte
$( "SELECTOR:checked" ).val()
onvalue="on"
fornece "on" se marcado e "" se desmarcado - útil!