2016-09-29 7 views
-2

別のjavascript関数からjavascript関数を呼び出すことはできますか?動的なフォームにappendを使用し、タグdivからjavascript関数を呼び出します

私はタグHtmlからこのjavascript chznが正しく動作すると呼びます。

しかし、別の関数のJavaScriptから呼び出すと、動作しません。 `

<script> 
$(document).ready(function() { 

    $('.chzn').chosen({ width: '100%' }); //method chzn that I want call 

    var max_fields  = 5; 
    var wrapper   = $(".container1"); 
    var add_button  = $(".add_form_field"); 
    var div = "<div><select class='chzn' name='nama_obat[]'><?php foreach($listobat ->result() as $row):?><option><?php echo $row->nama_obat ?></option><?php endforeach;?></select><a class='col-lg-3' href='#' id='delete'>Delete</a></div>"; 
    var x = 1; 

    $(add_button).click(function(e){ 
     e.preventDefault(); 
     if(x < max_fields){ 
      x++; 
      $(wrapper).append(div); //add input box 
     } 
     else 
     { 
      alert('You Reached the limits') 
     } 
    }); 

    $(wrapper).on("click","#delete", function(e){ 
     e.preventDefault(); $(this).parent('div').remove(); x--; 
    }) 

}); 
</script> 

`

ご協力いただきありがとうござい

+0

'gridViewAndroid = new View(mContext);'これはオブジェクトを作成し、次の行はすぐにそれを破棄します。 –

+0

ビューリサイクルの仕組みを学ぶ必要があります。 – njzk2

答えて

1

convertViewは(それがリサイクルされた)nullではなかった場合は、任意の値を設定していなかった、あなただけの同じ画像と同じビューを返しました。 GridViewはリサイズビューです。高さを100に設定すると、7つのビューすべてが膨張しました。 hightを200に設定すると、6つだけが膨張し、スクロールダウンすると最初の2つがリサイクルされ、新しい位置に対応する値を設定する必要があります。

public View getView(int position, View convertView, ViewGroup viewGroup) { 

    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View gridViewAndroid; 

    if (convertView == null) { 
     gridViewAndroid = new View(mContext); 
     gridViewAndroid = inflater.inflate(R.layout.grid_layout, null); 
    } else { 
     gridViewAndroid = (View) convertView; 
    } 

    TextView textViewAndroid = (TextView) gridViewAndroid.findViewById(R.id.gridview_text); 
    ImageView imageViewAndroid = (ImageView) gridViewAndroid.findViewById(R.id.gridview_image); 

    textViewAndroid.setText(mTopic.get(position)); 
    imageViewAndroid.setImageBitmap(mImage.get(position)); 

    return gridViewAndroid; 
} 
+0

説明してください。 –

+0

'convertView'がヌルでない(リサイクルされた)場合は、値を設定しておらず、同じ画像で同じビューを返しただけです。 GridViewはリサイズビューです。高さを100に設定すると、7つのビューすべてが膨張しました。 hightを200に設定すると、6つだけが膨張し、スクロールダウンすると、最初の2つがリサイクルされ、それらの位置に対応しない値を設定する必要があります。 – egoldx

+0

@ user1779222 ohhhhhhhhh、yaaaaaa私は理解しています。皆さんありがとう。 –

関連する問題