2016-05-09 2 views
0

У меня есть поля на мой взгляд. У меня есть поле username, который производится путем firstname and lastname like username = firstname_lastnameКак использовать jQuery в Yii?

Мой код:

<div class="row"> 
    <div>echo $form->textField($model,'firstname',array('maxlength'=>255));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'lastname',array('maxlength'=>255,'onchange'=>'$(#User_username).val($('#User_firstname').val()+"_"+this.value())'));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'username');</div> 
    </div> 

Это работает, когда я выбираю firstname затем lastname но когда я изменить firstname после создания username затем username не изменяется соответствующим образом. пожалуйста помоги.

+0

Добавить OnChange для имени также? – vijaykumar

+0

@vijaykumar: я уже добавил это в lastname, потому что для имени пользователя необходимы как имя, так и фамилия, и я больше не хочу писать тот же код. – user1234

ответ

0

Просто попробуйте добавленным же OnChange для FirstName также

<div class="row"> 
    <div>echo $form->textField($model,'firstname',array('maxlength'=>255, 'onchange'=>'$(#User_username).val($('#User_firstname').val()+"_"+this.value())'));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'lastname',array('maxlength'=>255,'onchange'=>'$(#User_username).val($('#User_firstname').val()+"_"+this.value())'));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'username');</div> 
    </div> 

Или вы можете добавить свой собственный Java Script

<div class="row"> 
    <div>echo $form->textField($model,'firstname',array('maxlength'=>255, 'onchange'=>'updateUsername()'));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'lastname',array('maxlength'=>255,'onchange'=>'updateUsername()'));</div> 
    </div> 

    <div class="row"> 
    <div>echo $form->textField($model,'username');</div> 
    </div> 
<script> 
    function updateUsername() 
    { 
     $(#User_username).val($('#User_firstname').val()+"_"+this.value()); 
    } 
</script> 

Или, если вы хотите использовать Yii скрипты просто попробовать this

0

Вам не хватает кавычек в первом селекторе и неправильный тип во втором.

Изменить

'onchange'=>'$(#User_username).val($('#User_firstname').val()+"_"+this.value())' 

Для

'onchange'=>'$("#User_username").val($("#User_firstname").val()+"_"+this.value())'