来自选定数据的输入的最大值属性

我正在根据选择设置输入的最大值。来自选定数据的输入的最大值属性

如果选择了任何一个选项,我希望它的data-max属性在输入字段中设置为max。

选择选项

<select size="1" name="options" class="select"> 

<option value="30" data-max="40">30</option>

<option value="31" data-max="22">31</option>

<option value="32" data-max="4">32</option>

<option value="33" data-max="400">33</option>

<option value="34" data-max="36">34</option>

</select>

这就是最大值将设置输入:

<input type="number" class="qty" name="qty" value="1" min="1" max="100" /> 

尝试这样做,但没有工作

$('select').change(function() { 

$('input[type=number]').attr('max', $(this).data('max'));

});

demo fiddle

回答:

我不知道为什么你要使用的数据,而不是最大的价值本身,但如果这实际上是你想要做的,你需要首先获取选项元素才能使用它的数据最大值。 (目前,您正在使用输入的数据最大值)。

$('select').change(function (e) { 

var selectedIndex = $('select').prop("selectedIndex");

var selectedOption = $('select').find("option")[selectedIndex];

$('input[type=number]').attr('max', $(selectedOption).data('max'));

});

回答:

您需要选择所选择的选项,而不是选择元素的数据属性。

变化:

$('input[type=number]').attr('max', $(this).data('max')); 

到:

$('input[type=number]').attr('max', $('option:selected',this).data('max')); 

jsFiddle example

以上是 来自选定数据的输入的最大值属性 的全部内容, 来源链接: utcz.com/qa/265564.html

回到顶部