我可以证明这一点很复杂,所以如果我要去掉一个兔子洞,请阻止我。我试图在单击复选框时获取跨度的id,然后更改该跨度中的内容。找到最接近的跨度id来替换跨度内容
我已经尝试了一些东西,我认为我走在了正确的轨道上,但正如我所说的,我倾向于将这些事情复杂化。顺便说一下,所有的ID都是不同的,并由数据库ID号设置。
我已经试过这
var readInput = $(".check span").attr('id');
$('#'.readInput).text('Read');
哪一种类型的作品的。除了只抓取第一个ID,即使我点击第三或第四个复选框....也不会改变文本。
我也试过只是抓住跨度,然后用这种方式进行编号,但那不是我所需要的。
任何帮助将是美好的!
整个功能看起来像这样......虽然这个问题很多都没有必要。
$('.memo input.checkIt').on("click", function(){
var name_attr = $(this).attr('name');
var hidden_input = $('input[name="' + name_attr + '"]');
if($(this).siblings('a').attr("class") == 'checked') {
hidden_input.val(0);
}else {
hidden_input.val(1);
$(this).attr('disabled','disabled').parent().addClass('disabled');
var readInput = $(".check span").attr('id');
$('#' + readInput).text('Read');
console.log(readInput);
}
});
,这是HTML
<p class="pull-right check">
@if($cover_design_note->is_read)
{{ date('m/d/Y g:i a', strtotime($cover_design_note->date)) }} <i class="icon-thumbs-up program_this"></i> Read
@else
<input type="checkbox" class="checkIt" name="{{ $cover_design_note->id }}" /><span id="messRead{{ $cover_design_note->id }}"> Unread</span>
@endif
</p>
你能发布整个事件处理程序和标记吗? –
忽略此评论 – tmcc