2017-06-22 53 views
1

嗨,我只是測試與React JS出於某種原因的jQuery。但是面臨這樣的問題。 當我嘗試這個控制檯使用jQuery與React JS

$(".cities-container select").val() 

我得到這個

Uncaught TypeError: $(...).val is not a function 

但當我嘗試這個

$(".cities-container select") 

我在控制檯中得到了整個select元素,意味着jQuery是工作,但不.val方法

有什麼建議...?

+0

當你做$( 「城市容器選擇」),究竟是什麼輸出? – VivekN

+1

'$'是瀏覽器中文檔查詢選擇器的快捷方式。 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector –

+0

我得到了選擇元素的全部HTML –

回答

1

jQuery選擇器通常會返回一組元素。嘗試獲得的第一個元素,像這樣:

$(".cities-container select")[0].val() 

或者使用.get()方法:

$(".cities-container select").get(0).val() 
2

試試這個: -

$(".cities-container select")[0].value 

這應該解決您的問題。

+0

我之前得到的同樣的錯誤 –

+0

這就是你試過的$(「。cities-container select 「)[0]。價值? – VivekN

+0

是的,我使用的城市 –

0

當jQuery未處於活動狀態時,您獲得$作爲document.querySelector的別名。這意味着使用$(".cities-container select").value而不是jQuery的$(".cities-container select").val()

檢查jQuery庫通過檢查jQuery的版本不是undefined載入(參看片斷爲例)或試圖使一個新的jQuery實例中使用jQuery功能控制檯。

參考文獻: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference

$(document).ready(
 
    function() { 
 
    var selectOpt = $("#select-opt").val(); 
 

 
    console.log(selectOpt); 
 
    } 
 
); 
 

 
var jQueryNotActivated = $().jquery == undefined; // jquery alias isn't active 
 

 
if(jQueryNotActivated) { 
 
    // In chrome, $ is alias for document.querySelector 
 
    var selectOptwithdQS = $("#select-opt"); 
 
    console.log(selectOptwithdQS.value); 
 
}
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> 
 
</head> 
 

 

 
<body> 
 
    <select id="select-opt"> 
 
    <option val="bus">Bus</option> 
 
    <option val="box">Box</option> 
 
    </select> 
 
</body>