我需要拆分html select选项的值,并将拆分结果传递到两个单独的输入字段中。我曾尝试对此进行编码,但最终得到的结果并非如此。
有人可以帮助我了解如何将数组的值传递给每个数组 另一个数组中的元素? 这甚至使我困惑。 :(
这是我到目前为止所拥有的;
$(document).ready(function() {
$('#media-size').change(function() {
var selectValue = $(this).val();
var arr = selectValue.split("x");
var valOne = arr[0];
var valTwo = arr[1];
$('.media-value').each(function() {
$(this).val(arr);
});
});
});
这里是我一直在研究的小提琴的链接; Click Here
任何指导将不胜感激。
关于-B。
P.s。
为澄清起见,在将此问题标记为重复之前。我正在寻找一个Jquery答案,而不是Java答案,这似乎是我在该主题上可以找到的所有东西。
答案 0 :(得分:3)
实际上,您真正靠近的地方。您只需要获取迭代的index
即可获取特定的arra值。
我建议您遵循each()的jQuery文档
希望获得帮助:>
$(document).ready(function() {
$('#media-size').change(function() {
var selectValue = $(this).val();
var arr = selectValue.split("x");
$('.media-value').each(function(index) {
$(this).val(arr[index]);
});
});
});
input {
margin: .5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="custom-select" id="media-size">
<option value="00x00" selected>Finish Size...</option>
<option value="594x841">A1</option>
<option value="420x594">A2</option>
<option value="297x420">A3</option>
<option value="210x297">A4</option>
<option value="148x210">A5</option>
<option value="105x148">A6</option>
<option value="74x105">A7</option>
<option value="85x55">UK Business Card</option>
<option value="85x54">UK Plastic Card</option>
<option value="00x00">Custom Size</option>
</select>
<input type="text" class="form-control media-value" placeholder="00" aria-label="Finish size in millimetres" aria-describedby="basic-addon2">
<span>x</span>
<input type="text" class="form-control media-value" placeholder="00" aria-label="Finish size in millimetres" aria-describedby="basic-addon2">
答案 1 :(得分:1)
提供拆分逻辑的替代方法。
/*
This logic suggests using data attributes on your options, such as...
<option data-width="640" data-height="480">640x480</option>
*/
$(document).ready(function() {
var $mediaSize = $('#media-size');
var $mediaValues = $('.media-value');
$mediaSize.change(function() {
var $selectedOption = $mediaSize.find('option:selected');
//optionally you could give each media value a class to
//specify width or height, and filter on that, rather
//than using eq()
$mediaValues.eq(0).val($selectedOption.data('width'));
$mediaValues.eq(1).val($selectedOption.data('height'));
});
});