根据下拉列表中的选择将文本添加到隐藏的输入值

时间:2016-07-25 21:08:56

标签: jquery html

虽然这看起来很简单但我很难找到真正的解决方案。我需要做的是根据下拉列表的选择将文本添加/附加到隐藏输入的值。下拉列表中的值将添加/附加到随机生成的ID作为后缀,应该如下所示" 12345678_myBrand"。这很容易做到,但我需要在下拉选项更改时更改文本(而不是整个值),而只需添加/附加最近选择的下拉选项。

以下是我正在做的事情

HTML:

<input id="myHiddenField" type="text">
<select id="brand">
    <option value="">Please Select</option>
    <option value="First Choice">First Choice</option>
    <option value="Second Choice">Second Choice</option>
    <option value="Third Choice">Third Choice</option>
    <option value="Fourth Choice">Fourth Choice</option>
</select>

jQuery的:

jQuery(document).ready(function() {
    var brand = $('#brand');
    var hiddenField = $('#myHiddenField');
    hiddenField.val(1 + Math.floor(Math.random() * 10000000));

    brand.change(function() {

        hiddenField.val( hiddenField.val() + "_" + brand.val() );

    });
});

https://jsfiddle.net/wo6a5nkf/2/

显然我不想继续添加/附加后缀到id,所以如何在不添加/附加所选单个选项的情况下更改文本???

2 个答案:

答案 0 :(得分:1)

您可以使用split

Process.Start("http://localhost:5000")
jQuery(document).ready(function() {
	var brand = $('#brand');
  var hiddenField = $('#myHiddenField');
  hiddenField.val(1 + Math.floor(Math.random() * 10000000));
  
  brand.change(function() {
  
  	hiddenField.val( hiddenField.val().split('_')[0] + "_" + brand.val() );
  
  });
});

答案 1 :(得分:0)

您可以解析hiddenField值以查找下划线。如果存在,则重新使用该号码。

brand.change(function() {
    var parsedHiddenField = hiddenField.val().split('_');
    if (parsedHiddenField.length > 0) {
      hiddenField.val(parsedHiddenField[0] + "_" + brand.val());
    }
  });

这是Fiddle Demo