我有一个像这样的jsp:
0 <= abs(a % b) < abs(b)
&#13;
>>> divmod(-1, 7)
(-1, 6)
&#13;
我想做的是填写输入:
我试过这种方式,但它没有工作:https://jsfiddle.net/L1xj7uge/我想我选择了错误的下拉列表值,但我不知道如何解决。
答案 0 :(得分:2)
<强> Updated fiddle 强>
您应该在这些行的选择器中添加id
符号#
以引用id
属性:
$("#first").val(str1);
$("#second").val(str2);
$("#last").val(str3);
而且str3
的索引应该是2
而不是3
,所以:
var str3 = ret[3];
应该是:
var str3 = ret[2];
希望这有帮助。
$("select[name='numbers']").change(function() {
var str = $('#numbers option:selected').text();
var ret = str.split(" ");
var str1 = ret[0];
var str2 = ret[1];
var str3 = ret[2];
$("#first").val(str1);
$("#second").val(str2);
$("#last").val(str3);
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
<option value="1 2 3">1 2 3</option>
<option value="4 5 6">4 5 6</option>
<option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>
First: <input id="first" name="first" type="text"/><br/>
Second: <input id="second" name="second" type="text"/><br/>
Last: <input id="last" name="last" type="text"/>
答案 1 :(得分:2)
您的代码中存在两个问题。首先,数组项的索引为0
,1
和2
。你也错过了id选择器的#
前缀。
另请注意,您只需检索select的val()
,并通过在input
元素上放置一个公共类并按索引匹配值来使逻辑更通用,如下所示:
$("select[name='numbers']").change(function() {
var $inputs = $('input.foo');
$('#numbers').val().split(" ").forEach(function(t, i) {
$inputs.eq(i).val(t);
});
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
<option value="1 2 3">1 2 3</option>
<option value="4 5 6">4 5 6</option>
<option value="7 8 9">7 8 9</option>
</select><br/><br/>
First: <input id="first" name="first" type="text" class="foo" /><br/>
Second: <input id="second" name="second" type="text" class="foo" /><br/>
Last: <input id="last" name="last" type="text" class="foo" />
答案 2 :(得分:1)
有一些拼写错误 -
ret[3]
应为ret[2]
您必须在选择器中的#
,first
和second
之前添加last
使用.val()
从选择元素中获取所选文本
$("#numbers").on("change", function() {
var str = $('#numbers').val();
var ret = str.split(" ");
var str1 = ret[0];
var str2 = ret[1];
var str3 = ret[2];
$("#first").val(str1);
$("#second").val(str2);
$("#last").val(str3);
}).trigger("change");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
<option value="1 2 3">1 2 3</option>
<option value="4 5 6">4 5 6</option>
<option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>First:
<input id="first" name="first" type="text" />
<br/>Second:
<input id="second" name="second" type="text" />
<br/>Last:
<input id="last" name="last" type="text" />
&#13;
答案 3 :(得分:0)
$('#numbers').change(function() {
var getoption = $('#numbers').val().toString().split(' ')
$('#first').val(getoption[0])
$('#second').val(getoption[1])
$('#last').val(getoption[2])
}).change()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="numbers" name="numbers">
<option value="1 2 3">1 2 3</option>
<option value="4 5 6">4 5 6</option>
<option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>
First: <input id="first" name="first" type="text"/><br/>
Second: <input id="second" name="second" type="text"/><br/>
Last: <input id="last" name="last" type="text"/>
&#13;
试试这个
答案 4 :(得分:0)
向选择框添加更改触发器功能,并使用空格拆分选定的值,并将拆分数组元素分配给相应的文本框。
试试这个:
<html>
<head>
<title>table</title>
<script src="moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<select id="numbers" name="numbers">
<option value="1 2 3">1 2 3</option>
<option value="4 5 6">4 5 6</option>
<option value="7 8 9">7 8 9</option>
</select>
<br/>
<br/>
First: <input id="first" name="first" type="text"/><br/>
Second: <input id="second" name="second" type="text"/><br/>
Last: <input id="last" name="last" type="text"/>
<script type="text/javascript">
$(function () {
$('#numbers').change(function(){
var valueArr = $(this).val().split(' ');
$('#first').val(valueArr[0]);
$('#second').val(valueArr[1]);
$('#last').val(valueArr[2]);
});
});
</script>
</body>
</html>
答案 5 :(得分:0)
你几乎完成了,只是通过id在jquery元素选择中的小问题。
//see this
$("#numbers").change(function() {
var str = $('#numbers option:selected').text();
var ret = str.split(" ");
var str1 = ret[0];
var str2 = ret[1];
var str3 = ret[2];
$("#first").val(str1);
$("#second").val(str2);
$("#last").val(str3);
});