我有一个名为function
的过滤器,基本上可以获得2个无线电输入和1个复选框的值。我已设置要在change
事件上触发的功能。
我遇到的问题是当函数触发时,其中任何3个的值都不会改变。
为什么价值不变?我一定错过了什么。
HTML
<div id="filter_options">
<label class="radio">
<input type="radio" name="pindexed" id="pindexed" class="pindexed" value="No" checked>
Yes
</label>
<label class="radio">
<input type="radio" name="pindexed" id="pindexed" class="pindexed" value="Yes">
No
</label>
<br />
<label class="radio">
<input type="radio" name="dindexed" id="dindexed" class="dindexed" value="No" checked>
Yes
</label>
<label class="radio">
<input type="radio" name="dindexed" id="dindexed" class="dindexed" value="Yes">
No
</label>
</div>
JQUERY
function filter() {
var pindexed = $("input:radio[name='pindexed']").val();
var dindexed = $("input:radio[name='dindexed']").val();
var removed_checked = $("input[type='checkbox']").val();
alert(pindexed);
$.ajax({
type: "POST",
url: "gen_this.php",
data: ({
pindexed: pindexed,
dindexed: dindexed,
removed_checked: removed_checked
}),
success: function(data) {
$('.gen_disavow_results').html(data);
}
});
};
$(document).on('change click', '#filter_options', function() {
filter();
});
答案 0 :(得分:1)
您需要确保获得已检查元素的值。一个例子是改为这三行:
var pindexed = $("input:radio[name='pindexed']:checked").val();
var dindexed = $("input:radio[name='dindexed']:checked").val();
var removed_checked = $("input[type='checkbox']:checked").val();
答案 1 :(得分:0)
我认为逻辑错误在脚本中,你要求输入[name = petc]的值,你不是要求所选值的值,而只是要求第一个的值返回。
如果您专门询问选中选项的值,则会得到实际值:
cam = new OrthographicCamera();
cam.setToOrtho(false, 1920, 1080);
sb = new SpriteBatch();
但是,我相信更改事件会在更改发生之前触发,因此如果单击NO,将其从yes切换为no,则值为YES,因为这是您单击它时的值。