Opened 13 years ago
Closed 7 years ago
#18518 closed defect (bug) (wontfix)
suggest.js: don't store the URL in the options object
Reported by: | scribu | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | |
Component: | General | Keywords: | |
Focuses: | javascript | Cc: |
Description
...because it prevents re-using the same instance for different URLs:
var suggest_args = { multiple : true, delimiter : ',', resultsClass : 'qc-suggest-results', selectClass : 'qc-suggest-over', matchClass : 'qc-suggest-match', }; $( '#ticket-assign input' ).suggest( QC_L10N.ajaxurl + '?action=qc-user-search', suggest_args ); $( '#ticket-tags input' ).suggest( QC_L10N.ajaxurl + '?action=ajax-tag-search&tax=post_tag', suggest_args );
With the above code, both inputs will look for items in the same URL: the second one.
Attached patch fixes this.
Attachments (1)
Change History (8)
#1
@
13 years ago
- Summary changed from Don't store the URL in the options object to suggest.js: don't store the URL in the options object
#3
@
13 years ago
That extra argument only affects the internal constructor function, which shouldn't be used directly.
If it's really necessary, sure, you could check if it's an object vs. a string or check the number of arguments passed.
#5
@
9 years ago
- Keywords needs-refresh added; has-patch removed
- Type changed from enhancement to defect (bug)
Needs to be refreshed
Note: See
TracTickets for help on using
tickets.
Will that extra argument be backwards compatible?
Could you add some code such that if source is an object rather than a string (i.e. only two arguments passed in), that source = options.source?