Jquery帮助将ajax函数添加到输入字段

时间:2011-09-26 14:45:13

标签: javascript jquery jquery-selectors

我正在尝试添加在复选框更改为输入字段时触发的相同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)

1 个答案:

答案 0 :(得分:0)

如果通过jQuery代码更改值,则不会在文本框中触发更改事件,您需要在代码中执行类似的操作 -

$('#sliderValue').trigger('change')

触发更改事件。