Javascript 如何根据选择值动态更改“onChange”属性值?

Javascript 如何根据选择值动态更改“onChange”属性值?,javascript,html,Javascript,Html,如何根据用户在组合框中选择的值更改文本字段中my onChange=的值 我有这些组合框: <div> <label>Wafer Type:</label> <select name="s1""> <option value="1"> First </option> <option value="2"> Second </option> <

如何根据用户在组合框中选择的值更改文本字段中my onChange=的值

我有这些组合框:

<div>
    <label>Wafer Type:</label>
    <select name="s1"">
        <option value="1"> First </option>
        <option value="2"> Second </option>
    </select>
</div>
当用户首先选择时:

<input type="text" name="lotNo" onchange="function1();">
当用户选择“秒”时:

<input type="text" name="lotNo" onchange="function1(); function2()">
关于如何根据所选下拉列表值动态更改onChange值的任何建议


提前感谢。

有很多方法可以做到这一点。 1在一个div中输入并给它id。现在在select控件的更改事件中创建java脚本。现在,在这个put条件下,如果选择了选项1,那么用desizeonchange事件替换输入

$( document ).ready(function() {

$("#s1").on('change', function(){
debugger;
if($("#s1 option:selected").val() == 1)
{
$("#changeinput").html("");
$("#changeinput").html('<input type="text" name="lotNo" onchange="function1();">')
}else
{
$("#changeinput").html("");
$("#changeinput").html('<input type="text" name="lotNo" onchange="function1();function2();">')
}

});

});
晶圆类型: 选择 第一 第二
您可以执行单个onchange函数,然后您可以根据使用条件语句选择的值执行该函数。明白了吗

function mainFunction() {
    if (document.getElementsByName("s1").value == "1") {
       function1();
    }
    else if (document.getElementsByName("s1").value == "2"){
        function1();
        function2();
    }    
}

假设您的输入是:

<input type="text" name="lotNo" onchange="myClickHandler();">

您可以按照以下方式基于选定值添加/删除事件:

var inputEl=document.querySelector'[name=lotNo]' 函数myFuncel{ var selVal=el.值; ifselVal==1{ inputEl.removeEventListener'change',two;//删除上一个 addEventListener'change',one;//现在添加 } else ifselVal==2{ inputEl.removeEventListener'change',one;//删除上一个 addEventListener'change',two;//现在添加 } } 功能一{ console.log‘调用函数一’; } 功能二{ log“调用函数二”; } //在页面加载上工作 //创建新的“更改”事件 var事件=新事件“变更”; //在页面加载时发送它。 document.querySelector'select'。dispatchEventevent; 晶圆类型: 第一 第二
这里有一个onchange属性的替代品:一个成熟的事件监听器

它会自动访问触发它的事件作为其第一个参数,为了便于阅读,我们将此参数称为事件,此事件的target属性将引用任何更改的元素

每当更改lotNo输入时,侦听器都会调用function1,如果用户在s1下拉列表中选择了Second,则随后会调用function2

const s1=document.getElementsByNames1[0]; const lotNo=document.getElementsByNamelotNo[0]; document.addEventListenerchange,功能1; 功能1事件{ ifevent.target==lotNo{ 调用console.logfunction1; ifs1.value==2{function2;} } } 功能2{ 调用console.logfunction2; } 晶圆类型: 第一 第二
您可以执行单个onchange函数,然后您可以根据选择的值执行该函数。明白了吗?嗨@PradeepSambandam,我需要在组合框的第二个选项中使用2函数。我不想在第一个选项上运行function2,因为它;不需要。是的,如果值为2,您可以在条件状态下执行两个函数。Dynamic onChange函数非常不重要。你应该试试@PradeepSambandam建议的方法
function myClickHandler() {
    if (document.querySelector("#myselect").value == "1") {
        // first selected, call your function
    }
    else {
        // second selected, call your function    
    }

}