2011-09-26 130 views
0

我想添加相同的ajax調用,當複選框更改爲輸入字段時,會觸發它。jquery幫助將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() { 

更新 我已經嘗試清理代碼。問題是,callpage沒有得到triggerhed:

         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

如果您通過更改值的改變事件將不會開火的文本框中jQuery代碼,你需要在代碼中這樣做 -

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

觸發更改事件。

+0

我試過了不行:b –

+0

我在這個jsfiddle中設置了一個簡化的工作示例 - http://jsfiddle.net/BZJXC/。那裏有什麼和你的代碼不一樣嗎? – ipr101

+0

是的輸入字段用滑塊更新 –