[英]Select/Highlight option based on a div content
下面的代碼假定將下拉列表與div內容進行匹配。 如果找到“菠蘿”,則選擇此選項。 我似乎找不到錯誤。
<head>
<script>
function displayResult(){
var myObject=document.getElementById("mySelect");
var myValue = $('#myContent').text();
for(var i=0; i<myObject.length; i++){
if(myObject.options[i].text == myValue){
myObject.options[i].selected = true;
(also tried - myObject.options[i].selectedIndex = i;)
break;
}
}
}
</script>
</head>
<body>
<div id="myContent">Pineapple</div>
<form>
Select your favorite fruit:
<select id="mySelect" size="4">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select>
</form>
<button type="button" onclick="displayResult()">Highlight Pineapple Option</button>
</body>
注意:
我希望突出顯示該選項。 糾正了缺少右括號的錯誤。 嘗試.selectedIndex = i,似乎沒有解決問題的辦法。
代替:
> myObject.options[i].selected = true;
采用
myObject.selectedIndex = i;
將selected屬性設置為true並不一定會使該選項處於選中狀態(它在瀏覽器中會有所不同)。
哦,您遇到語法錯誤:
<script>
function displayResult(){
var myObject=document.getElementById("mySelect");
var myValue = $('#myContent').text();
for(var i=0; i<myObject.length; i++){
...
}
// missing closing } for function body
</script>
您缺少displayResult
括號。
您在函數末尾缺少}
。
而且您應該包括jQuery庫或進行更改
var myValue = $('#myContent').text();
至
var myValue = document.getElementById('myContent').innerHTML;
不過,使用一個更簡單的技巧是( 畢竟不是一個好技巧...請參閱@RobG的注釋 )
function displayResult() { var myObject = document.getElementById("mySelect"); var myValue = document.getElementById('myContent').innerHTML; myObject.value = myValue; }
但對於IE,選項將需要包含
value
屬性
<option value="Pineapple">Pineapple</option>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.