我正在开发一个基于springmvc的java web项目。
在一个页面上,html源代码段如下:
<form:select id="goodSelectId" path="goodId" items="${goodsList}"
itemLabel="name" itemValue="goodCode">
<form:option value="">select the product</form:option>
</form:select>
<form:checkbox path="flag" id="flag" value="1"
onchange="change(this, 'goodSelectId')"/>
相关的jquery函数:
function change(self, targetId) {
if ($(self).is(':checked')) {
$("#" + targetId).val("");
$("#" + targetId).attr("disabled", true);
}
else {
$("#" + targetId).attr("disabled", false);
}
}
勾选复选框时,我想将select元素值设为null,然后禁用select元素。
“禁用”即可,但值“”无法设置为select:form的path
。
那是:
1)如果我使用选择下拉菜单选择一个选项,则该值可以传递给path
2)但如果我通过上面的javascript函数设置值,则无法将值传递给path
我的问题是:如何将javascript函数中设置的值传递给path
?
答案 0 :(得分:1)
这是因为您的选项值为1
或2
试试这一行:
$("#" + targetId).val(1);
您的修改后的代码:
function change(self, targetId) {
if ($(self).is(':checked')) {
$("#" + targetId).val(1);
$("#" + targetId).attr("disabled", true);
} else {
$("#" + targetId).attr("disabled", false);
}
$("#show").html($("#" + targetId).val());
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="test">
<option value="">请选择</option>
<option value="1">选项一</option>
<option value="2">选项二</option>
</select>
<input type="checkbox" id="flag" value="1" onchange="change(this, 'test')" />
<p id="show">xx</p>
&#13;
答案 1 :(得分:0)
我使用$("#" + targetId + ' option:first').attr('selected', 'selected');
并且看起来就是您要找的内容,请查看以下代码:
function change(self, targetId) {
if ($(self).is(':checked')) {
$("#" + targetId + ' option:first').attr('selected', 'selected');
$("#" + targetId).attr("disabled", true);
} else {
$("#" + targetId).attr("disabled", false);
}
$("#show").html($("#" + targetId).val());
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="test">
<option value="">请选择</option>
<option value="1">选项一</option>
<option value="2">选项二</option>
</select>
<input type="checkbox" id="flag" value="1" onchange="change(this, 'test')" />
<p id="show">xx</p>
&#13;