HTML code:
<div class="controls" id="display">
<input type="text" name="demos" class="" value="1" id="displays"/>
<select class="input-medium">
<option value="">Select</option>
<option value="1">II</option>
<option value="2">AS</option>
<option value="3">AR</option>
</select>
</div>
Jquery代码:
$("input[name='demos']").each(function(i,e){
var SValue = $('#displays').val();
$('option[value=' + SValue + ']').attr('selected',true);
});
我将多次将上述HTML代码显示为动态代码。
我将把#displays的值与select选项进行比较,并将select选项设为选中状态。
#displays中的值来自数据库。
因为,当我将不同的值从数据库传递给多个代码时,我使用了多次上面的html代码。所有多个代码仅显示第一个html代码选择值。
但是,我希望所有多个html代码都能将所选值显示给各自的#displays。
在调试中我发现$(&#34;输入[name =&#39;演示&#39;]&#34;)。每个(函数(i,e){未正确执行因为我放Svalue的控制台只显示所有多个html代码的第一个html代码输入值。
我该如何解决这个问题?
答案 0 :(得分:0)
尝试
$("input#displays").each(function(i,e){
});
答案 1 :(得分:0)
在HTML中,ID属性是唯一的。您不能在同一页面中为多个控件使用相同的ID。所以,你需要使用另一种方法。
我会做类似的事情:
$("div.controls").each(function() {
$(this).children("select").eq(0).val($(this).children("input").eq(0).val());
});
编辑:它有效,我刚刚做了 this demo !
答案 2 :(得分:0)
试试这个:
$("#displays").blur(function () {
var data = $(this).val();
$("#select > option").each(function () {
if (this.value == data)
$(this).attr("selected", "selected");
});
});
此示例将从用户获取输入,然后系统将选择匹配值。