Jquery 从所选的“选择”选项更新文本输入
我有一个选择字段,当用所选选项的价格选择时,它也会更新一个文本字段。你知道为什么这行不通吗 Html:Jquery 从所选的“选择”选项更新文本输入,jquery,jquery-mobile,Jquery,Jquery Mobile,我有一个选择字段,当用所选选项的价格选择时,它也会更新一个文本字段。你知道为什么这行不通吗 Html: 材料: 选材 55螺栓 净价: JS: $(“材料1”)。更改(功能(){ $(this).next(“input[rel=“+$(this).attr(“rel”)+”]).val($(this.val()); $('#net1').textinput('refresh'); }).change(); 由于以下几个原因,它不起作用: $(this).next()将返回[],因为下一个同级
材料:
选材
55螺栓
净价:
JS:
$(“材料1”)。更改(功能(){
$(this).next(“input[rel=“+$(this).attr(“rel”)+”]).val($(this.val());
$('#net1').textinput('refresh');
}).change();
由于以下几个原因,它不起作用:
$(this).next()
将返回[]
,因为下一个同级
不是具有匹配rel属性的输入。尝试使用$(this.sibbins)(“input[rel=”+$(this.attr(“rel”)+”])
textinput()
函数。也许你的意思是text()
最后,您不需要做
$(…).change(function()).change()
--$(…).change(function())
就足够了。您的主要问题就在这里,mgoeppner也有一些好的建议
$(this).next("input[rel="+$(this).attr("rel")+"]").val($(this).val());
$(this).val()
指的是select
的值,该值为空。您必须参考所选选项的值。然后next()
将不起作用,因为输入
不在选择
的旁边,中间有一个标签
。您可以使用closest()
这是jquerymobile,当他们在表单字段上使用css类时,他们的代码需要刷新来更新字段。标签也是他们代码的一部分。我会试试你的建议,看看会发生什么。还是不行,我是这么做的:我试过:$(这个)。兄弟姐妹(“input[rel=”+$(这个)。attr(“rel”)+“])。val($(这个)。val());我试着:$(this).sibbins(“input[rel=”+$(this.attr(“rel”)+”]);您需要所选选项的值,请参见elclanrs答案底部的示例。我将此添加到JSFIDLE尝试两个选项似乎都不起作用?我将此添加到JSFIDLE JSFIDLE.net/7dSZm尝试两个选项似乎都不起作用?–这里有一些语法错误,如果您按照我的示例进行操作,请注意显示的是选择的值,而不是我需要的rel标记的价格。只需将其更改为
attr('rel')
。我的意思是,试着理解代码,这是非常基本的东西。。。你说得对,伙计,这是漫长的一天,很抱歉打扰你。谢谢你的帮助
<script type="text/javascript">
$("material1").change(function () {
$(this).next("input[rel="+$(this).attr("rel")+"]").val($(this).val());
$('#net1').textinput('refresh');
}).change();
</script>
$(this).next("input[rel="+$(this).attr("rel")+"]").val($(this).val());
var value = $(this).find('option:selected').val();
$(this).closest("input[rel="+$(this).attr("rel")+"]").val(value);