[英]Passing value to hidden input
我不是javascript / jquery開發人員,但我必須處理它,因此請原諒這個愚蠢的問題。 我有一個允許javascript / jquery定制的軟件,我需要將一些報告遷移到新版本。 在舊的軟件版本中,此方法運行良好:
$("#prop input").val('asd').blur();
請注意,#prop是div ID(隱藏),其中包含我要填寫的輸入字段,此輸入字段是我無法修改的軟件對象,因此我需要使用此方法。 在新版本中,如果div可見,則上面編寫的代碼仍然有效,但在隱藏時不再起作用。 我在軟件發行說明中發現,可能不再支持jquery,但仍支持javascript。 所以我試圖更改我的代碼:
document.getElementById('prop').value = 'asd';
但這不起作用。 如何在純JavaScript中替換此說明? 也是為什么在div可見時舊的jquery命令仍然可以工作的原因
編輯:我認為這時有必要提供有關我的代碼的更多信息。 它可能與我之前寫的內容有所不同,但這是我需要修復的真實情況。 我認為主要問題是隱藏div上的blur方法,因為僅傳遞“ value”不足以觸發其他操作。 如上所述,當未隱藏div dt1時,此代碼可以正常工作。
var result = $("#valiDate").text();
var datelist = [];
datelist = result.split(",");
//document.getElementById("log").innerHTML =result.toString();
//update document property after selection
function datePicker_onSelect(selectedDate){
//alert(selectedDate)
$("#dt1 input").focus()
$("#dt1 input").blur()
//document.getElementById("dt1").innerHTML=selectedDate
}
pickerOptions = {
altFormat: "dd/mm/yy",
showOn: 'button',
buttonImageOnly: true,
buttonImage: 'https://cdn2.iconfinder.com/data/icons/metro-uinvert-dock/256/Calendar.png',
minDate: "-36M", maxDate: "+0D",
changeMonth: true,
changeYear: true,
altField:"#dt1 input",
onSelect:datePicker_onSelect,
beforeShowDay: function(d) {
// normalize the date for searching in array
var dmy = "";
dmy += ("00" + d.getDate()).slice(-2) + "/";
dmy += ("00" + (d.getMonth() + 1)).slice(-2) + "/";
dmy += d.getFullYear();
if ($.inArray(dmy, datelist) >= 0) {
return [true, ""];
}
else {
return [false, ""];
}
}
}
//create the date picker
document.getElementById('dt1picker').innerHTML="<input type='hidden' id='datePicker'>"
$("#datePicker").datepicker(pickerOptions);
我還要感謝所有貢獻自己的用戶。
試試這個。 這將首先獲取元素,然后找到子input
並設置值
document.getElementById('prop').querySelector('input').value = 'asd';
不要試圖在同一條語句中設置值並執行blur()
。 當不可見時,可能是使用blur()
導致jQuery失敗的嘗試。
var $propInput = $("#prop input");
$propInput.val('asd');
$propInput.blur();
在原始JavaScript中,
var propInput = document.querySelector("#prop input");
propInput.value = 'asd';
propInput.blur();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.