我有多个使用PHP生成的复选框,当使用jQuery中的AJAX更改复选框的值时,我正在尝试更新每个项目
<input type="checkbox" name="visible" id="visible" data-id="<?= $item['id'] ?>" <?= $item['visible']? 'checked' : ''; ?>>
(document).ready(function() {
$('#visible').change(function() {
$.post('../ajax/carousel.php',
{
'id' : $('#visible').attr('data-id'),
'visible' : $('#visible').is(':checked') ? 1 : 0
},
function(data, status) {
alert(data);
});
});
});
现在我只想在更改时获得每个复选框,而不是一次全部获得!
发生的事情是,它仅获取复选框的第一个值,而不获取其余的
答案 0 :(得分:0)
具有多个具有相同ID的元素是无效的HTML,而jQuery仅选择带有$(this)
的第一个元素。 See this thread for more info。
将选择器替换为HTML中的类,并使用Javascript中的<input type="checkbox" class="visible-cb" data-id="<?= $item['id'] ?>" <?= $item['visible']? 'checked' : ''; ?>>
访问唯一项。
$('.visible-cb').change(function() {
$.post('../ajax/carousel.php',
{
'id' : $(this).data('id'),
'visible' : $(this).is(':checked') ? 1 : 0
},
function(data, status) {
alert(data);
});
});
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> *)launchOptions;