[英]how to know which radio button id selected of which row?
我进行了一个演示,在其中创建了ID为tc_1
, tc_2
, tc_3
……等的行。
当我展开一行时,有两个选项和一个按钮。 我需要知道选择哪个行ID和哪个选项?
示例:我展开第二行,它应该使用选择添加测试用例的选项来警告tc_1
。
$('#list').on('click','.addClickClass',function(){
alert('hii')
});
这是您的alert
的一些新的jquery代码,该代码获取所选元素的ID:
alert('hi from ' + $(e.target).closest('[datarole="collapsible"]').find('input:checked').attr('id') )
这是一个分叉的jsfiddle,显示了此工作更改: http : //jsfiddle.net/mstapp/mGSJ7/1/
在这种情况下,jQuery将为您提供有问题的$(this)
元素对象:
$('#list').on('click','.addClickClass',function(){
// This is current button clicked
console.log($(this));
});
如果您想通过按钮进入某个特定项目,则可以选择完整的文档。 但是例如,为了方便起见,假设您要查找包含所有情况的li
:
$('#list').on('click','.addClickClass',function(){
// Get the first ancestor that matches a selector
$(this).closest('li');
});
遍历和操纵有很多很棒的资料遍历-操纵
您应该尝试这样:
$('#list').on('click','.addClickClass',function(){
alert($(this).closest('div').parent().parent().prop('id'));
});
要获取行ID和已检查的单选值,请使用以下命令:
$('#list').on('click','.addClickClass',function(){
alert($(this).parents('li[id*="tc"]').attr('id') + "\n"
+ $(this).parents('.ui-collapsible').find('input:checked').val())
})
它给您这样的输出,例如:
tc_1
TestCommand
我相信这正是您想要的。
我用它来获取行ID:
$(this).parents('li[id*="tc"]').attr('id')
这将获取检查的单选值:
$(this).parents('.ui-collapsible').find('input:checked').val()
两者都与单击的“添加”按钮有关。
在此处查看其运行情况: http : //jsfiddle.net/R2DzV/16/
好吧,你可以试试这个:
$('#list').on('click', '.addClickClass', function () {
var row = $(this).parents('li').eq(1); // top second parent
var selected = row.find('label[data-icon="radio-on"] .ui-btn-text').text();
alert(row.attr('id') + "\n" + selected);
});
但是您需要小心,如果会有更多的<li>
元素,则需要指定要定位的元素。
后:
$('#list').trigger('create');
为无线电更改事件添加处理程序:
var $appendedLi = $("#list>li:last-child");
$appendedLi.find ("input[type='radio']").on ("change", function () {
if ($(this).prop("checked")) {
alert("Current row: " + $(this).closest("#list>li").attr("id"));
alert("Selected option: " + $(this).val());
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.