2011-07-07 213 views
1

我有一個網址是這樣的: index.php/home/lista_modelo_ajax?id="+$('#colecoes').val(),獲取選擇選定值

的事情是:$('#colecoes').val()永遠是選擇,不是我選擇的第一個項目。

任何想法?

在此先感謝。

編輯

<script> 
    $(function() { 
      $("#modelos").autocomplete({ 
       source: "<?php echo base_url();?>index.php/home/lista_modelo_ajax?id="+$('#colecoes').val(), 
       minLength: 2 
      }); 
    }); 
    </script> 


<label for="colecoes">Coleções</label> 
     <select name="colecoes" id="colecoes"> 
      <option value="16">-</option> 
      <?php foreach($lista_colecao as $colecao){?> 
      <option value="<?php echo $colecao->idColecao;?>"><?php echo $colecao->nomeColecao;?></option> 
      <?php }?> 
     </select> 
     <label for="modelos">Modelo</label> 
     <input type="text" name="modelos" id="modelos" /> 

所有的PHP工作正常,在選擇對象的價值產生的ID,這個問題只與JS

+1

你試過'$(「#colecoes」)VAL()'或'$('#colecoes:selected).val()'?只是一個猜測... –

+0

yes ... nothing =( – Gerep

+1

您提到了$('#colecoes option:selected')。val(),但在代碼中無法找到它 – Cracker

回答

2

這將取決於您在何處編寫此代碼。如果您直接在文檔中編寫它,這是正常的,因爲此代碼執行時就是所選值。在另一方面,如果你在下拉列表中的.change事件寫它,例如,你會得到實際值:

$('#colecoes').change(function() { 
    var id = $(this).val(); // now you will get the actual selected value 
    $.ajax({ 
     url: 'index.php/home/lista_modelo_ajax', 
     data: { id: id }, 
     success: function(result) { 
      ... 
     } 
    }); 
}); 
+0

它沒有工作Darin =/ – Gerep

+0

@Gerep,*它沒有工作*不是很精確。什麼沒有用?你的PHP腳本沒有得到id變量或什麼?你是否在'$(document).ready'處理程序中加入了'.change'處理程序訂單,以確保在嘗試附加任何處理程序之前已經加載了DOM? –

+0

您的代碼將無法正常工作,因爲我需要使用jqueryUI中的.autoload函數....並且是... php沒有收到任何東西 – Gerep

0

只要做到:

$('#colecoes').val(); //assuming `colecoes` is the id of the select 

onchange的示例:

$('#colecoes').change(function(){ 
    alert(this.value); //alerts the selected option 
});