我正在尝试添加在复选框更改为输入字段时触发的相同ajax调用。
这是我想在输入字段的值更改时添加的函数:
$('#left input:checkbox').change(function() {
$('#formcontent').empty().html('<p style="margin-top:20px;text-align:center;font-family:verdana;font-size:14px;">Vent venligst, henter webhosts.</p><p style="margin-top:20px;margin-bottom:20px;text-align:center;"><img src="../images/ajax.gif" /></p>');
var form = $(this).closest('form');
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success:function(msg){
$('#formcontent').html(msg);
}
});
这是我的滑码。这会更新输入字段:
$("#slider").slider({
value:'',
min: 0,
max: 5000,
step: 250,
slide: function(event, ui) {
if (ui.value == $(this).slider('option', 'max')) {
$(ui.handle).html('Ubegrænset');
$('#sliderValueplads').val('99999');
} else {
$(ui.handle).html(ui.value + ' MB');
$('#sliderValueplads').val(ui.value);
}
}
}).find('a').html($('#slider').slider('value'));
$('#sliderValueplads').val($('#slider').slider('value'));
这是我的HTML:
<div class="sliderdiv">
<div id="slider"></div>
<input type="text" style="display:none;" size="30" name="search[prisar_greater_than]" id="sliderValueplads">
</div>
我试图在代码中替换此行:
$('#left input:checkbox').change(function() {
这个(不工作):
$('#left input:checkbox', '#sliderdiv input').change(function() {
更新 我试过清理代码。问题是呼叫不会被触发:
function callpage() {
$('#formcontent').empty().html('<p style="margin-top:20px;text-align:center;font-family:verdana;font-size:14px;">Vent venligst, henter webhosts.</p><p style="margin-top:20px;margin-bottom:20px;text-align:center;"><img src="../images/ajax.gif" /></p>');
var form = $(this).closest('form');
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success:function(msg){
$('#formcontent').html(msg);
}
$('#left input:checkbox').change(callpage);
我在firebug中得到了这个错误:
missing } after property list [Break ved denne fejl] $('#left input:checkbox').change(callpage)
答案 0 :(得分:0)
如果通过jQuery代码更改值,则不会在文本框中触发更改事件,您需要在代码中执行类似的操作 -
$('#sliderValue').trigger('change')
触发更改事件。