Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将表单输入值与所选选项组合_Javascript_Jquery - Fatal编程技术网

Javascript 将表单输入值与所选选项组合

Javascript 将表单输入值与所选选项组合,javascript,jquery,Javascript,Jquery,我想通过使用jQuery实时组合选项字段和输入字段中的值 <input name="recipe" id="recipe" value="tablespoons" /> <select id="spoon_value" name="spoon_value"> <option value="1" selected="">1</option> <option value="2">2</option> <option val

我想通过使用jQuery实时组合选项字段和输入字段中的值

<input name="recipe" id="recipe" value="tablespoons" />
<select id="spoon_value" name="spoon_value">
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

我想要的输出是2个TableSpoons或3个TableSpoons等等。

您的
每个
函数中的选择器周围缺少引号--您还有一个
每个
函数以ID为目标,这是不好的,因为这很可能意味着您在重复ID。以下是代码的语法正确版本:

$('select#spoon_value').each(function(i) {
    var someData = $("select[name=spoon_value] option[value=" + this.data.spoon_value + "]").html() + this.data.recipe;
});

函数ux){
返回文档.getElementById(x);
}
函数更新(){
var tbsVal=uu(“匙值”)。值;
var输出=tbsVal+“汤匙”;
_(“realtimeTbsVal”).innerHTML=输出;
}
1.
2.
3.
哟

您发布的代码有语法错误是的,这就是我来这里的原因@尼古拉斯,我从20小时前就开始打电话了。我甚至不能很好地打字:你知道,stackoverflow不是一个调试平台。。。如果您无法修复这种语法错误,那么GL!我想我应该把它发布在代码审查部分。对不起,我没有用过,但我相当肯定这更多是为了改进工作代码,而不是调试jquery选择器:)。根据我在那里看到的前几个问题的阅读。只是测试了一下,它也不起作用。我想我应该尝试一下这个方法,但它会在更改选项时删除值。上面的代码实际上做了任何事情……它只是创建了一个变量,你对这个变量做了什么吗?是的,我的朋友,我添加了
$('#recipe').val('someData')
$('[name=recipe]').val(someData);在
结尾处。尝试
$('#recipe').val(someData)--不要引用variables这很糟糕,我无法使用此函数获取输出。尽管控制台中没有错误<代码>jQuery('select#spoon_value').change(函数($){var someData=$('select[name=spoon_value]选项[value=“+this.data.spoon_value+”]).html()+this.data.recipe;jQuery('input#recipe').val(someData);})无论如何,我通过将旧值存储到变量中,然后在函数
jQuery('input#recipe').val(option+old)的末尾将这两个值组合在一起,使它工作起来感谢您的帮助和时间。我知道请求了jQuery,但纯javascript可以更高效地完成同样的事情。如果您想保留汤匙值的输入,只需创建一个新的javascript变量,并将它们连接到与上面类似的位置。对其进行了测试。它起作用了。但它需要在更改选项后单击主体。看看这里:我认为这就是简单javascript和jQuery之间的区别:D@Waqas是否希望在选择新值后立即更新该值?var output=tbsVal+“”+old;(如果您想在数字和文本之间留一个空格)
$('select#spoon_value').each(function(i) {
    var someData = $("select[name=spoon_value] option[value=" + this.data.spoon_value + "]").html() + this.data.recipe;
});
<!doctype>
<html>
<head>
    <script>
        function _(x){
            return document.getElementById(x);
        }
        function update() {
            var tbsVal = _("spoon_value").value;
            var output = tbsVal + " tablespoons";
            _("realtimeTbsVal").innerHTML = output;
        }
    </script>
</head>
<body>
    <form action="yourFileName" method="post">
        <select id="spoon_value" name="spoon_value" onblur="update()">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
        </select>
        <input type="submit" value="Submit">
    </form>
    <div id="realtimeTbsVal">yo</div>
</body>
</html>