簡體   English   中英

將值傳遞給隱藏的輸入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM