2015-06-09 34 views
0

我從checkFields方法獲得值,然後將其分配給隱藏變量searchValidate。的atleastOneFilled值將是truefalse。下面是代碼如何爲var分配var值到jQuery .val()

var atleastOneFilled = checkFields($("#searchForm")); 
alert('atleastOneFilled' + atleastOneFilled); 
$('#searchValidate').val(atleastOneFilled); 

但價值沒有得到設置爲searchValidate。警報顯示正確的值,但仍未分配到searchValidate。它說的是分配給.val()的錯誤的方式

HTML:

<input type="hidden" value="" th:name="searchValidate"/> 
+0

你的html看起來像什麼? –

+0

什麼類型的字段是'#searchValidate'? –

+0

'#searchValidate'是什麼類型的元素? –

回答

1

問題正在發生的事情,因爲你正在使用的ID在jQuery中選擇器來設置值並且輸入元素缺少id屬性。 所以,請更改HTML,如下圖所示,它會工作

<input type="hidden" value="" id="searchValidate" th:name="searchValidate"/> 
+0

謝謝。有效。 –

+0

也許可以解釋它爲什麼會起作用? –

+0

@FelixKling更新了答案,謝謝 –

0

也許嘗試

$('#searchValidate').text(atleastOneFilled); 

代替

$('#searchValidate').val(atleastOneFilled); 
2

你需要使用不同的jQuery選擇:

$('input[name="searchValidate"]').val(atLeastOneField); 

#標誌着一個元素

+0

謝謝。我添加了id屬性 –

0

我的id財產認爲你不能選擇何時屬性包含":"你需要使用foreach循環和匹配屬性。

var atleastOneFilled = checkFields($("#searchForm")); 
    alert('atleastOneFilled' + atleastOneFilled); 

$("input[type='hidden']").each(function(){ 

if($("input").attr("th:name")="searchValidate") 
{ 
    $('#searchValidate').val(atleastOneFilled); 

} 

});