为了账号安全,请及时绑定邮箱和手机立即绑定

将值传递给隐藏的输入

将值传递给隐藏的输入

叮当猫咪 2021-04-05 11:35:43
我不是javascript / jquery开发人员,但我必须处理它,因此请原谅这个愚蠢的问题。我有一个允许javascript / jquery定制的软件,我需要将一些报告迁移到新版本。在旧的软件版本中,此方法运行良好:$("#prop input").val('asd').blur();请注意,#prop是div ID(隐藏),它包含我要填写的输入字段,此输入字段是我无法修改的软件对象,因此我需要使用此方法。在新版本中,如果div可见,则上面编写的代码仍然有效,但在隐藏时不再起作用。我在软件发行说明中发现,可能不再支持jquery,但仍支持javascript。所以我试图更改我的代码:document.getElementById('prop').value = 'asd';但这是行不通的。如何在纯JavaScript中替换此说明?也是为什么在div可见时旧的jquery命令仍然可以工作的原因编辑:我认为在这一点上有必要提供有关我的代码的更多信息。它可能与我之前写的内容有所不同,但这是我需要修复的真实情况。我认为主要问题是隐藏div上的模糊方法,因为仅传递“值”不足以触发其他操作。如上所述,在未隐藏div dt1的情况下,此代码可以正常工作。var result = $("#valiDate").text();var datelist = [];datelist = result.split(",");//document.getElementById("log").innerHTML =result.toString();//update document property after selectionfunction 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 pickerdocument.getElementById('dt1picker').innerHTML="<input type='hidden' id='datePicker'>"$("#datePicker").datepicker(pickerOptions);我还要感谢所有贡献自己的用户。
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

不要试图blur()在相同的语句中设置值并执行。blur()当不可见时,可能是导致jQuery失败的尝试。


var $propInput = $("#prop input");

$propInput.val('asd');

$propInput.blur();

在香草JavaScript中,它将是


var propInput = document.querySelector("#prop input");

propInput.value = 'asd';

propInput.blur();


查看完整回答
反对 回复 2021-04-08
?
12345678_0001

TA贡献1802条经验 获得超5个赞

试试这个。这将首先获取元素,然后找到一个孩子input并设置值

document.getElementById('prop').querySelector('input').value = 'asd';


查看完整回答
反对 回复 2021-04-08
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信