我有以下代码用于文本框:
<label>Enter the doctor id</label>
<input type="text" autocomplete="on" name="dr_id" id="user_id" class="user_name" >
我想在' - '之后添加字符串到文本框。例如:对于Prashant Salunke-dr.salunke博士。我必须在文本框中只有dr.salunke,因为它在' - '之后。我写了下面给出的一些代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});
$('#list li').click(function()
{
var arr=$(this).text().split('-');
$('#user_id').val($(arr[1]).text());
});
});
</script>
<a href="#" class="show_hide">List of doctors</a><br />
<div class="slidingDiv">
<ul id="list">
<li style="cursor:hand;">Dr.Prashant Salunke - dr.salunke.</li>
<li style="cursor:hand;">Dr.Kalam - dr.apj</li>
<li style="cursor:hand;">Dr.Manmohan Singh - dr.economics</li>
</ul>
</div>
</div>
但它不起作用。请提出一些解决方案。
答案 0 :(得分:1)
arr[1]
值不需要转换为jQuery对象。您可以按原样使用它来设置val()
的{{1}},但使用input
删除前导/尾随空格可能有所帮助:
$.trim
答案 1 :(得分:1)
你可以这样做:
$('#list li').click(function () {
var arr = $(this).text().split('-');
$('#user_id').val(arr[1]);
// arr returns ["Dr.Prashant Salunke ", " dr.salunke."]
// arr[1] returns dr.salunke.
});
由于arr[1]
已经有文本值,因此无需$(arr[1]).text()
来获取文本值。