[英]Select element returning value only when disabled
我有一個選擇框,如下所示:
<select id="selectbox" class='info-entry-select' name="country">
<option value="1" selected="selected">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
該選擇框位於一個隱藏的div中,當顯示時,它會使用ajax和單獨的php文件刷新選擇框選項。 這是更新選擇框的javascript:
$("#changeselectoptions").on('click', function() {
$.ajax({
type: "GET",
url: "includes/selectoptions.php",
dataType: 'json',
success: function(result){
// Replace options of select box
var $el = $("#selectbox");
var newOptions = result['catsOrderList'];
// newOptions correctly returns an array in the form of {1: "One", 2: "Two", 3: "Three", 4: "Four"}
$el.empty(); // remove existing options
$.each(newOptions, function(key,value) {
$el.append($("<option></option>").attr("value", key).text(value));
});
}
});
return false;
});
如果我現在打電話: $('#selectbox').val();
我不確定,我不確定為什么嗎? 為了使問題更混亂,如果我禁用#selectbox(使用一個切換開關,增加了.attr('disabled', 'disabled');
到#selectbox,然后嘗試$('#selectbox').val();
我得到1、2、3等的預期值
如何在不禁用此框的情況下獲得此值,或者我忽略了什么?
編輯:
我被問到我的$('#selectbox').val();
在哪里$('#selectbox').val();
打電話是。 它的參與程度沒有我上面提到的那么大,但是要更加徹底,它是通過與select元素位於同一div中的Submit按鈕進行調用的,如下所示:
$("#submitbutton").on('click', function() {
var selectBoxVal = $('#selectbox').val();
console.log('value is: ' + selectBoxVal);
return false;
});
到目前為止,我唯一的想法是可能是dom問題? 我這么說是無知的,因為我的知識並不了解全部內容,但是我已經看到了一些問題,其中元素是通過javascript實時更改的,而在以后的javascript調用中無法正確檢索-而如果要檢索的元素存在時它們會很好地工作頁面已加載。
我沒有將選定的屬性分配給任何選項,但是我不認為這會導致返回undefined 。 例如,如果我禁用選擇框,則從同一查詢中正確返回值(如上所述),但仍然沒有手動添加選定屬性。 我離題了,但是在javascript中創建一系列選項時是否需要添加選定的屬性? 從使用的角度來看,最初顯示為選擇的選項與我無關,但我很樂意遵循最佳程序。 我假設瀏覽器將顯示的選項解釋為已選中(如果沒有標記)。
我相信選擇的“值”將是在該選擇框中具有屬性“已選擇”的<option>
。 否則,該輸入沒有指示值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.