2017-09-01 56 views
0

我試圖檢查基於localStorage中var值的單選按鈕。根據存儲的值檢查單選按鈕

HTML:

<input type="radio" id="dayope" name="yardstick" value="Days Open" onClick="ableBtn()"> Days Open 

SCRIPT:

var yardName = localStorage.getItem("yardstick"); 
$('input[name=yardstick][value=" + yardName + "]').prop('checked', true); 

沒有錯誤,但沒有檢查無論是。

我也試過......

var yardName = localStorage.getItem("yardstick"); 
$('input[name=yardstick][value=" + yardName + "]').attr('checked', checked); 

而且拋出:

Uncaught ReferenceError: checked is not defined 

我缺少什麼?

+0

可以使用:$( '輸入[名稱=尺度] [值= 「 '+ yardName +」']')。在「+」號前後查看單引號 –

回答

1

您忘記了添加引號。

var yardName = "Days Open"; 
 
$('input[name=yardstick][value="' + yardName + '"]').prop('checked', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="radio" id="dayope" name="yardstick" value="Days Open" onClick="ableBtn()"> Days

+0

在+ yardName +周圍添加單引號就是答案! – webguy

2

你需要確保yardName不會是你的字符串的一部分,因爲你要訪問您存儲的變量中的值:

var yardName = localStorage.getItem("yardstick"); 
$('input[name=yardstick][value="' + yardName + '"]').prop('checked', true); 

否則,你實際上是尋找的是一個input與價值' + yardName + ',如在

<input value="' + yardName + '" /> 

而這不是你在找什麼。