我正在使用jquery chosen,其中包含特定组件multiple select。
我想听一下如果在所选文本栏中输入内容并提醒输入的内容。
要实现我的目标:
<select id="searchZip" name="types[]" multiple class="searchZip chosen-select-no-results" tabindex="12">
</select>
<script type="text/javascript">
var config = {
'.chosen-select': {},
'.chosen-select-deselect': {
allow_single_deselect: true
},
'.chosen-select-no-single': {
disable_search_threshold: 10
},
'.chosen-select-no-results': {
no_results_text: 'Oops, nothing found!'
},
'.chosen-select-width': {
width: "95%"
}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
</script>
如果在搜索框中输入内容,我想调用 alert()。我怎么能这样做?
$("#searchZip").chosen().change( alert("a"); );
当我这样做时,我总是收到这个错误:
参数列表之后的Uncaught SyntaxError:missing)
如何使用所选输入中输入的输入调用警报?
答案 0 :(得分:0)
在警告框内,不应该有任何分号,因为它会终止语句..
只需撰写.change(alert("a"));
答案 1 :(得分:0)
您需要更改以下行:
$("#searchZip").chosen().change( alert("a"); );
对此:
$("#searchZip").chosen().change( alert("a") );
当JavaScript看到;
时,它会认为它是该行的结尾。由于您的;
位于.change()
之内,因此JavaScript没有看到)
的结束.change()
,因此产生了以下错误,指出它是missing ) after argument list
< / p>
Uncaught SyntaxError: missing ) after argument list
答案 2 :(得分:0)
传递给函数 .change()的那一行应该是一个函数。 alert("a")
是一个函数调用(语句)。该调用可以移动到lambda(匿名)函数中:
$("#searchZip").chosen().change( function() {alert("a"); });
或者可以使用命名函数:
function alertA() {
alert("a");
}
$("#searchZip").chosen().change( alertA );
有关详细信息,请参阅MDN documentation on functions as callbacks。
对于传递给 .change()的参数,“documentation”有点缺乏,但更改调用.trigger()所以参数为:
extraParam可用于获取所选选项的文本:
function alertA(event, result) {
alert(result.selected);
}
请参阅下面的演示。
$('.chosen-select-no-results').chosen({
no_results_text: 'Oops, nothing found!'
});
function alertA(event, result) {
alert(result.selected);
}
$("#searchZip").chosen().change(alertA);
<link href="https://harvesthq.github.io/chosen/chosen.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="https://harvesthq.github.io/chosen/chosen.jquery.js"></script>
<select id="searchZip" name="types[]" multiple class="searchZip chosen-select-no-results" tabindex="12">
<option>Cat</option>
<option>Dog</option>
<option>Zebra</option>
</select>