好的,在我开始之前,我会告诉您我在我的页面中使用https://github.com/marghoobsuleman/ms-Dropdown,但我已尝试使用和不使用该源的实现,所以我不认为这与它
这是我的选择菜单
<select id="payments2" name="payments2" style="width:100%; ">
<option value="" data-description="Exchange To">Processor</option>
<?php
$processor = $db->query("SELECT * FROM `processors`");
while($pro = $processor->fetch_assoc()) { ?>
<option value="<?php echo $pro['id']; ?>" data-image="<?php echo $pro['icon']; ?>"><?php echo $pro['name']; ?></option>
<?php } ?>
</select>
<form class="form-style-7">
<ul>
<li>
<label for="test">Name</label>
<input type="text" id="p1" name="test" maxlength="100">
<span>Stuff Here</span>
</li>
它填充正常,这不是问题,这是我正在使用的jQuery
$(document).ready(function() {
$("#payments").msDropdown({visibleRows:4});
$("#payments2").msDropdown({visibleRows:4});
$("#payments2 option").filter(function() {
return $(this).text() == $("#p1").text();
}).attr('selected', true);
$("#payments2").live("change", function() {
$("#p1").val($(this).find("option:selected").text());
});
});
我不确定为什么当我更改选择时它不会在输入框中显示任何内容。
我仍然是jQuery的新手,所以它可能很简单,但我可以在正确的方向上使用一个点。
答案 0 :(得分:2)
live()
已被弃用并从jQuery中删除。您应该更新您的jQuery版本并使用on()
:
$(document).on('change', "#payments2", function() {
$("#p1").val($(this).find("option:selected").text());
});
答案 1 :(得分:0)
最常见的问题是使用直播功能。 jquery不再支持它(它已被弃用)。您可以更新代码以使用如下的委托事件:
$(document).on("change", "#payments2", function() {
$("#p1").val($(this).find("option:selected").text());
});
答案 2 :(得分:0)
你应该使用.on(),而不是.live()......现在已经弃用了一段时间。