如何设置弹簧形式`select`元素的`path`属性的值?

时间:2017-08-14 08:27:21

标签: jquery spring spring-mvc

我正在开发一个基于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

2 个答案:

答案 0 :(得分:1)

这是因为您的选项值为12 试试这一行:

  $("#" + targetId).val(1);

您的修改后的代码:

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

我使用$("#" + targetId + ' option:first').attr('selected', 'selected');并且看起来就是您要找的内容,请查看以下代码:

&#13;
&#13;
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;
&#13;
&#13;